本文整理汇总了C++中Sector::Entities方法的典型用法代码示例。如果您正苦于以下问题:C++ Sector::Entities方法的具体用法?C++ Sector::Entities怎么用?C++ Sector::Entities使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sector
的用法示例。
在下文中一共展示了Sector::Entities方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: master
Sector& LevelParser::ParseLevel(const std::string& levelString)
{
Sector* levelSector = new Sector;
levelSector->SetName(levelString);
TableSharedData sharedData;
XmlParseMaster master(sharedData);
ActionXmlParseHelper actionHelper;
master.AddHelper(actionHelper);
EntityXmlParseHelper entityHelper;
master.AddHelper(entityHelper);
SectorXmlParseHelper sectorHelper;
master.AddHelper(sectorHelper);
WorldXmlParseHelper worldHelper;
master.AddHelper(worldHelper);
FloatXmlParseHelper floatHelper;
master.AddHelper(floatHelper);
IntegerXmlParseHelper intHelper;
master.AddHelper(intHelper);
MatrixXmlParseHelper matrixHelper;
master.AddHelper(matrixHelper);
ReactionXmlParseHelper reactionHelper;
master.AddHelper(reactionHelper);
StringXmlParseHelper stringHelper;
master.AddHelper(stringHelper);
TableXmlParseHelper tableHelper;
master.AddHelper(tableHelper);
VectorXmlParseHelper vectorHelper;
master.AddHelper(vectorHelper);
float x = 0.0f, y = 0.0f;
for (std::uint32_t i = 0; i < levelString.length(); ++i)
{
const char& symbol = levelString.at(i);
if (symbol != '\n')
{
if (symbol != '.')
{
std::string path = CONTENT_PATH;
master.ParseFromFile(path.append(mSymbolTable[symbol]));
World* world = sharedData.GetCurrentScope()[WORLDS_KEY][0].As<World>();
Sector* sector = world->Sectors().Get<Scope*>()->As<Sector>();
Entity* entity = sector->Entities().Get<Scope*>()->As<Entity>();
if (entity)
if (entity->Is(EntityTile::TypeIdClass()))
levelSector->Adopt(CreateTile(entity, x, y), ENTITIES_KEY);
else if (entity->Is(EntityPlayer::TypeIdClass()))
levelSector->Adopt(CreatePlayer(entity, x, y), ENTITIES_KEY);
else if (entity->Is(EntityMovable::TypeIdClass()))
levelSector->Adopt(CreateMovable(entity, x, y), ENTITIES_KEY);
}
x += 1.0f;
}
else
{
y += 1.0f;
x = 0.0f;
}
sharedData.Clear();
}
return *levelSector;
}