本文整理汇总了C++中Being::clearDestination方法的典型用法代码示例。如果您正苦于以下问题:C++ Being::clearDestination方法的具体用法?C++ Being::clearDestination怎么用?C++ Being::clearDestination使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Being
的用法示例。
在下文中一共展示了Being::clearDestination方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: spawn
static void spawn(Character *from, MonsterClass *specy, int nb)
{
MapComposite *map = from->getMap();
const Point &pos = from->getPosition();
for (int i = 0; i < nb; ++i)
{
Being *monster = new Monster(specy);
monster->setMap(map);
monster->setPosition(pos);
monster->clearDestination();
if (!GameState::insertSafe(monster))
{
// The map is full. Break out.
break;
}
}
}
示例2: handleSpawn
static void handleSpawn(Character *player, std::string &args)
{
MonsterClass *mc;
MapComposite *map = player->getMap();
const Point &pos = player->getPosition();
int value = 0;
// get the arguments
std::string monsterclass = getArgument(args);
std::string valuestr = getArgument(args);
// check all arguments are there
if (monsterclass.empty())
{
say("Invalid amount of arguments given.", player);
say("Usage: @spawn <monster> [number]", player);
return;
}
// identify the monster type
if (utils::isNumeric(monsterclass))
{
int id = utils::stringToInt(monsterclass);
mc = monsterManager->getMonster(id);
}
else
{
mc = monsterManager->getMonsterByName(monsterclass);
}
// check for valid monster
if (!mc)
{
say("Invalid monster", player);
return;
}
//identify the amount
if (valuestr.empty())
{
value = 1;
}
else if (utils::isNumeric(valuestr))
{
value = utils::stringToInt(valuestr);
}
// check for valid amount
if (value <= 0)
{
say("Invalid number of monsters", player);
return;
}
// create the monsters and put them on the map
for (int i = 0; i < value; ++i)
{
Being *monster = new Monster(mc);
monster->setMap(map);
monster->setPosition(pos);
monster->clearDestination();
if (!GameState::insertOrDelete(monster))
{
// The map is full. Break out.
break;
}
// log transaction
std::string msg = "User created monster " + monster->getName();
accountHandler->sendTransaction(player->getDatabaseID(), TRANS_CMD_SPAWN, msg);
}
}