本文整理汇总了C++中BattleUnit::getStatus方法的典型用法代码示例。如果您正苦于以下问题:C++ BattleUnit::getStatus方法的具体用法?C++ BattleUnit::getStatus怎么用?C++ BattleUnit::getStatus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BattleUnit
的用法示例。
在下文中一共展示了BattleUnit::getStatus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: load
/**
* Loads the saved battle game from a YAML file.
* @param node YAML node.
*/
void SavedBattleGame::load(const YAML::Node &node, Ruleset *rule, SavedGame* savedGame)
{
int a;
int selectedUnit = 0;
node["width"] >> _width;
node["length"] >> _length;
node["height"] >> _height;
node["missionType"] >> _missionType;
node["globalshade"] >> _globalShade;
node["turn"] >> _turn;
node["selectedUnit"] >> selectedUnit;
for (YAML::Iterator i = node["mapdatasets"].begin(); i != node["mapdatasets"].end(); ++i)
{
std::string name;
*i >> name;
MapDataSet *mds = new MapDataSet(name);
_mapDataSets.push_back(mds);
}
initMap(_width, _length, _height);
for (YAML::Iterator i = node["tiles"].begin(); i != node["tiles"].end(); ++i)
{
Position pos;
(*i)["position"][0] >> pos.x;
(*i)["position"][1] >> pos.y;
(*i)["position"][2] >> pos.z;
getTile(pos)->load((*i));
}
for (YAML::Iterator i = node["nodes"].begin(); i != node["nodes"].end(); ++i)
{
Node *n = new Node();
n->load(*i);
_nodes.push_back(n);
}
for (YAML::Iterator i = node["units"].begin(); i != node["units"].end(); ++i)
{
UnitFaction faction;
(*i)["faction"] >> a;
faction = (UnitFaction)a;
(*i)["soldierId"] >> a;
BattleUnit *b;
if (a < BattleUnit::MAX_SOLDIER_ID) // Unit is linked to a geoscape soldier
{
// look up the matching soldier
b = new BattleUnit(savedGame->getSoldier(a), faction);
}
else
{
std::string type, armor;
(*i)["genUnitType"] >> type;
(*i)["genUnitArmor"] >> armor;
// create a new Unit.
b = new BattleUnit(rule->getUnit(type), faction, a, rule->getArmor(armor));
}
b->load(*i);
_units.push_back(b);
if (faction == FACTION_PLAYER)
{
if (b->getId() == selectedUnit)
_selectedUnit = b;
}
else if (b->getStatus() != STATUS_DEAD)
{
std::string state;
BattleAIState *aiState;
(*i)["AI"]["state"] >> state;
if (state == "PATROL")
{
aiState = new PatrolBAIState(this, b, 0);
}
else if (state == "AGGRO")
{
aiState = new AggroBAIState(this, b);
}
else
{
continue;
}
aiState->load((*i)["AI"]);
b->setAIState(aiState);
}
}