本文整理汇总了C++中aurora::GFF3Struct::getList方法的典型用法代码示例。如果您正苦于以下问题:C++ GFF3Struct::getList方法的具体用法?C++ GFF3Struct::getList怎么用?C++ GFF3Struct::getList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aurora::GFF3Struct
的用法示例。
在下文中一共展示了GFF3Struct::getList方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadGIT
void Area::loadGIT(const Aurora::GFF3Struct &git) {
// Waypoints
if (git.hasField("WaypointList"))
loadWaypoints(git.getList("WaypointList"));
// Placeables
if (git.hasField("Placeable List"))
loadPlaceables(git.getList("Placeable List"));
// Doors
if (git.hasField("Door List"))
loadDoors(git.getList("Door List"));
}
示例2: loadGIT
void Area::loadGIT(const Aurora::GFF3Struct &git) {
if (git.hasField("AreaProperties"))
loadProperties(git.getStruct("AreaProperties"));
if (git.hasField("Placeable List"))
loadPlaceables(git.getList("Placeable List"));
if (git.hasField("Door List"))
loadDoors(git.getList("Door List"));
if (git.hasField("Creature List"))
loadCreatures(git.getList("Creature List"));
}
示例3: loadInstance
void Trigger::loadInstance(const Aurora::GFF3Struct &gff) {
// Tag
_tag = gff.getString("Tag", _tag);
loadPositional(gff);
const Aurora::GFF3List &geometry = gff.getList("Geometry");
float x, y, z;
Graphics::VertexDecl vertexDecl;
vertexDecl.push_back(Graphics::VertexAttrib(Graphics::VPOSITION, 3, GL_FLOAT));
_vertexBuffer.setVertexDeclLinear(geometry.size(), vertexDecl);
float *v = reinterpret_cast<float *>(_vertexBuffer.getData());
for (uint32 i = 0; i < geometry.size(); i++) {
geometry[i]->getVector("Vertex", x, y, z);
// Position
*v++ = x;
*v++ = y;
*v++ = z;
}
}
示例4: loadARE
void Area::loadARE(const Aurora::GFF3Struct &are) {
// Tag
_tag = are.getString("Tag");
// Name
_name = are.getString("Name");
if (!_name.empty() && (*--_name.end() == '\n'))
_name.erase(--_name.end());
_displayName = createDisplayName(_name);
// Tiles
_width = are.getUint("Width");
_height = are.getUint("Height");
_tilesetName = are.getString("Tileset");
_tiles.resize(_width * _height);
loadTiles(are.getList("Tile_List"));
// Scripts
readScripts(are);
}
示例5: load
void Trigger::load(const Aurora::GFF3Struct &gff) {
Common::UString temp = gff.getString("TemplateResRef");
Common::ScopedPtr<Aurora::GFF3File> utt;
if (!temp.empty())
utt.reset(loadOptionalGFF3(temp, Aurora::kFileTypeUTT, MKTAG('U', 'T', 'T', ' ')));
loadBlueprint(utt->getTopLevel());
if (!utt)
warning("Trigger \"%s\" has no blueprint", temp.c_str());
float x, y, z;
x = (float)gff.getDouble("XPosition");
y = (float)gff.getDouble("YPosition");
z = (float)gff.getDouble("ZPosition");
glm::vec3 position(x, y, z);
setPosition(x, y, z);
x = (float)gff.getDouble("XOrientation");
y = (float)gff.getDouble("YOrientation");
z = (float)gff.getDouble("ZOrientation");
glm::vec3 orientation(x, y, z);
const Aurora::GFF3List &geometry = gff.getList("Geometry");
for (Aurora::GFF3List::const_iterator p = geometry.begin();
p != geometry.end();
++p) {
x = (float)(*p)->getDouble("PointX");
y = (float)(*p)->getDouble("PointY");
z = (float)(*p)->getDouble("PointZ");
_geometry.push_back(position + glm::vec3(x, y, z));
}
}
示例6: loadEquippedItems
void Creature::loadEquippedItems(const Aurora::GFF3Struct &gff) {
if (!gff.hasField("Equip_ItemList"))
return;
const Aurora::GFF3List &cEquipped = gff.getList("Equip_ItemList");
for (Aurora::GFF3List::const_iterator e = cEquipped.begin(); e != cEquipped.end(); ++e)
_equippedItems.push_back(new Item(**e));
}
示例7: loadEquipment
void Creature::loadEquipment(const Aurora::GFF3Struct &gff) {
if (!gff.hasField("Equip_ItemList"))
return;
for (const auto &i : gff.getList("Equip_ItemList")) {
InventorySlot slot = InventorySlot(static_cast<int>(std::log2f(i->getID())));
Common::UString tag = i->getString("EquippedRes");
equipItem(tag, slot, false);
}
}
示例8: loadGIT
void Area::loadGIT(const Aurora::GFF3Struct &git) {
// Generic properties
if (git.hasField("AreaProperties"))
loadProperties(git.getStruct("AreaProperties"));
// Waypoints
if (git.hasField("WaypointList"))
loadWaypoints(git.getList("WaypointList"));
// Placeables
if (git.hasField("Placeable List"))
loadPlaceables(git.getList("Placeable List"));
// Doors
if (git.hasField("Door List"))
loadDoors(git.getList("Door List"));
// Creatures
if (git.hasField("Creature List"))
loadCreatures(git.getList("Creature List"));
}
示例9: loadClasses
void Creature::loadClasses(const Aurora::GFF3Struct &gff,
std::vector<Class> &classes, uint8 &hitDice) {
if (!gff.hasField("ClassList"))
return;
classes.clear();
hitDice = 0;
const Aurora::GFF3List &cClasses = gff.getList("ClassList");
for (Aurora::GFF3List::const_iterator c = cClasses.begin(); c != cClasses.end(); ++c) {
classes.push_back(Class());
const Aurora::GFF3Struct &cClass = **c;
classes.back().classID = cClass.getUint("Class");
classes.back().level = cClass.getUint("ClassLevel");
hitDice += classes.back().level;
}
}
示例10: loadObject
void Placeable::loadObject(const Aurora::GFF3Struct &gff) {
// State
_state = (State) gff.getUint("AnimationState", (uint) _state);
// Inventory
_hasInventory = gff.getBool("HasInventory", _hasInventory);
if (_hasInventory && gff.hasField("ItemList")) {
Aurora::GFF3List classList = gff.getList("ItemList");
for (Aurora::GFF3List::const_iterator iter = classList.begin(); iter != classList.end(); ++iter) {
const Aurora::GFF3Struct &item = **iter;
_inventory.addItem(item.getString("InventoryRes"));
}
}
// Hit Points
_currentHitPoints = gff.getSint("CurrentHP");
_maxHitPoints = gff.getSint("HP");
_minOneHitPoint = gff.getBool("Min1HP");
}
示例11: loadProperties
void Creature::loadProperties(const Aurora::GFF3Struct &gff) {
// Tag
_tag = gff.getString("Tag", _tag);
// Name
_firstName = gff.getString("FirstName", _firstName);
_lastName = gff.getString("LastName" , _lastName);
_name = _firstName + " " + _lastName;
_name.trim();
// Description
_description = gff.getString("Description", _description);
// Conversation
_conversation = gff.getString("Conversation", _conversation);
// Sound Set
_soundSet = gff.getUint("SoundSetFile", Aurora::kFieldIDInvalid);
// Gender
_gender = gff.getUint("Gender", _gender);
// Race
_race = gff.getUint("Race", _race);
// Subrace
_subRace = gff.getUint("Subrace", _subRace);
// PC and DM
_isPC = gff.getBool("IsPC", _isPC);
_isDM = gff.getBool("IsDM", _isDM);
// Age
_age = gff.getUint("Age", _age);
// Experience
_xp = gff.getUint("Experience", _xp);
// Abilities
_abilities[kAbilityStrength] = gff.getUint("Str", _abilities[kAbilityStrength]);
_abilities[kAbilityDexterity] = gff.getUint("Dex", _abilities[kAbilityDexterity]);
_abilities[kAbilityConstitution] = gff.getUint("Con", _abilities[kAbilityConstitution]);
_abilities[kAbilityIntelligence] = gff.getUint("Int", _abilities[kAbilityIntelligence]);
_abilities[kAbilityWisdom] = gff.getUint("Wis", _abilities[kAbilityWisdom]);
_abilities[kAbilityCharisma] = gff.getUint("Cha", _abilities[kAbilityCharisma]);
// Classes
loadClasses(gff, _classes, _hitDice);
// Skills
if (gff.hasField("SkillList")) {
_skills.clear();
const Aurora::GFF3List &skills = gff.getList("SkillList");
for (Aurora::GFF3List::const_iterator s = skills.begin(); s != skills.end(); ++s) {
const Aurora::GFF3Struct &skill = **s;
_skills.push_back(skill.getSint("Rank"));
}
}
// Feats
if (gff.hasField("FeatList")) {
_feats.clear();
const Aurora::GFF3List &feats = gff.getList("FeatList");
for (Aurora::GFF3List::const_iterator f = feats.begin(); f != feats.end(); ++f) {
const Aurora::GFF3Struct &feat = **f;
_feats.push_back(feat.getUint("Feat"));
}
}
// Deity
_deity = gff.getString("Deity", _deity);
// Health
if (gff.hasField("HitPoints")) {
_baseHP = gff.getSint("HitPoints");
_bonusHP = gff.getSint("MaxHitPoints", _baseHP) - _baseHP;
_currentHP = gff.getSint("CurrentHitPoints", _baseHP);
}
// Alignment
_goodEvil = gff.getUint("GoodEvil", _goodEvil);
_lawChaos = gff.getUint("LawfulChaotic", _lawChaos);
// Appearance
_appearanceID = gff.getUint("Appearance_Type", _appearanceID);
_appearanceHead = gff.getUint("Appearance_Head" , _appearanceHead);
_appearanceMHair = gff.getUint("Appearance_Hair" , _appearanceMHair);
//.........这里部分代码省略.........
示例12: readVarTable
void Object::readVarTable(const Aurora::GFF3Struct &gff) {
if (gff.hasField("VarTable"))
readVarTable(gff.getList("VarTable"));
}
示例13: catch
void GFF3Dumper::dumpField(const Aurora::GFF3Struct &strct, const Common::UString &field) {
Aurora::GFF3Struct::FieldType type = strct.getType(field);
Common::UString typeName;
if (((size_t) type) < ARRAYSIZE(kGFF3FieldTypeNames))
typeName = kGFF3FieldTypeNames[(int)type];
else
typeName = "filetype" + Common::composeString((uint64) type);
Common::UString label = field;
// Structs already open their own tag
if (type != Aurora::GFF3Struct::kFieldTypeStruct) {
_xml->openTag(typeName);
_xml->addProperty("label", label);
}
switch (type) {
case Aurora::GFF3Struct::kFieldTypeChar:
_xml->setContents(Common::composeString(strct.getUint(field)));
break;
case Aurora::GFF3Struct::kFieldTypeByte:
case Aurora::GFF3Struct::kFieldTypeUint16:
case Aurora::GFF3Struct::kFieldTypeUint32:
case Aurora::GFF3Struct::kFieldTypeUint64:
_xml->setContents(Common::composeString(strct.getUint(field)));
break;
case Aurora::GFF3Struct::kFieldTypeSint16:
case Aurora::GFF3Struct::kFieldTypeSint32:
case Aurora::GFF3Struct::kFieldTypeSint64:
_xml->setContents(Common::composeString(strct.getSint(field)));
break;
case Aurora::GFF3Struct::kFieldTypeFloat:
case Aurora::GFF3Struct::kFieldTypeDouble:
_xml->setContents(Common::UString::format("%.6f", strct.getDouble(field)));
break;
case Aurora::GFF3Struct::kFieldTypeStrRef:
_xml->setContents(strct.getString(field));
break;
case Aurora::GFF3Struct::kFieldTypeExoString:
case Aurora::GFF3Struct::kFieldTypeResRef:
try {
_xml->setContents(strct.getString(field));
} catch (...) {
_xml->addProperty("base64", "true");
Common::SeekableReadStream *data = strct.getData(field);
_xml->setContents(*data);
delete data;
}
break;
case Aurora::GFF3Struct::kFieldTypeLocString:
{
Aurora::LocString locString;
strct.getLocString(field, locString);
_xml->addProperty("strref", Common::composeString(locString.getID()));
dumpLocString(locString);
}
break;
case Aurora::GFF3Struct::kFieldTypeVoid:
_xml->setContents(*strct.getData(field));
break;
case Aurora::GFF3Struct::kFieldTypeStruct:
dumpStruct(strct.getStruct(field), label);
break;
case Aurora::GFF3Struct::kFieldTypeList:
dumpList(strct.getList(field));
break;
case Aurora::GFF3Struct::kFieldTypeOrientation:
{
double a = 0.0, b = 0.0, c = 0.0, d = 0.0;
strct.getOrientation(field, a, b, c, d);
_xml->breakLine();
_xml->openTag("double");
_xml->setContents(Common::UString::format("%.6f", a));
_xml->closeTag();
_xml->breakLine();
_xml->openTag("double");
_xml->setContents(Common::UString::format("%.6f", b));
_xml->closeTag();
_xml->breakLine();
_xml->openTag("double");
_xml->setContents(Common::UString::format("%.6f", c));
//.........这里部分代码省略.........
示例14: loadProperties
void Creature::loadProperties(const Aurora::GFF3Struct &gff) {
// Tag
_tag = gff.getString("Tag", _tag);
// Name
_firstName = gff.getString("FirstName", _firstName);
_lastName = gff.getString("LastName" , _lastName);
_name = _firstName + " " + _lastName;
_name.trim();
// Description
_description = gff.getString("Description", _description);
// Conversation
_conversation = gff.getString("Conversation", _conversation);
// Sound Set
_soundSet = gff.getUint("SoundSetFile", Aurora::kFieldIDInvalid);
// Portrait
loadPortrait(gff, _portrait);
// Gender
_gender = (Gender) gff.getUint("Gender", (uint64) _gender);
// Race
_race = gff.getUint("Race", _race);
// Subrace
_subRace = gff.getString("Subrace", _subRace);
// PC and DM
_isPC = gff.getBool("IsPC", _isPC);
_isDM = gff.getBool("IsDM", _isDM);
// Age
_age = gff.getUint("Age", _age);
// Experience
_xp = gff.getUint("Experience", _xp);
// Abilities
_abilities[kAbilityStrength] = gff.getUint("Str", _abilities[kAbilityStrength]);
_abilities[kAbilityDexterity] = gff.getUint("Dex", _abilities[kAbilityDexterity]);
_abilities[kAbilityConstitution] = gff.getUint("Con", _abilities[kAbilityConstitution]);
_abilities[kAbilityIntelligence] = gff.getUint("Int", _abilities[kAbilityIntelligence]);
_abilities[kAbilityWisdom] = gff.getUint("Wis", _abilities[kAbilityWisdom]);
_abilities[kAbilityCharisma] = gff.getUint("Cha", _abilities[kAbilityCharisma]);
// Classes
loadClasses(gff, _classes, _hitDice);
// Skills
if (gff.hasField("SkillList")) {
_skills.clear();
const Aurora::GFF3List &skills = gff.getList("SkillList");
for (Aurora::GFF3List::const_iterator s = skills.begin(); s != skills.end(); ++s) {
const Aurora::GFF3Struct &skill = **s;
_skills.push_back(skill.getSint("Rank"));
}
}
// Feats
if (gff.hasField("FeatList")) {
_feats.clear();
const Aurora::GFF3List &feats = gff.getList("FeatList");
for (Aurora::GFF3List::const_iterator f = feats.begin(); f != feats.end(); ++f) {
const Aurora::GFF3Struct &feat = **f;
_feats.push_back(feat.getUint("Feat"));
}
}
// Deity
_deity = gff.getString("Deity", _deity);
// Health
if (gff.hasField("HitPoints")) {
_baseHP = gff.getSint("HitPoints");
_bonusHP = gff.getSint("MaxHitPoints", _baseHP) - _baseHP;
_currentHP = gff.getSint("CurrentHitPoints", _baseHP);
}
// Alignment
_goodEvil = gff.getUint("GoodEvil", _goodEvil);
_lawChaos = gff.getUint("LawfulChaotic", _lawChaos);
// Appearance
//.........这里部分代码省略.........