class Stats;
}
+namespace common {
+ class Spell;
+ class TargetingMode;
+}
+
namespace graphics {
class Animation;
class Font;
battle::Monster *GetMonster(const std::string &name);
int GetNumber(const std::string &name) const;
battle::PartyLayout *GetPartyLayout(const std::string &name);
+ common::Spell *GetSpell(const std::string &name);
graphics::Sprite *GetSprite(const std::string &name);
const char *GetString(const std::string &name) const;
+ common::TargetingMode *GetTargetingMode(const std::string &name);
geometry::Vector<int> GetVector(const std::string &name) const;
public:
const std::vector<int> &Numbers() const { return numbers; }
const std::vector<battle::PartyLayout *> &PartyLayouts() const { return partyLayouts; }
const std::vector<graphics::SimpleAnimation *> &SimpleAnimations() const { return simpleAnimations; }
+ const std::vector<common::Spell *> &Spells() const { return spells; }
const std::vector<graphics::Sprite *> &Sprites() const { return sprites; }
const std::vector<const char *> &Strings() const { return strings; }
+ const std::vector<common::TargetingMode *> &TargetingModes() const { return targetingModes; }
const std::vector<geometry::Vector<int> > &Vectors() const { return vectors; }
private:
battle::PartyLayout *GetPartyLayout(const Value &);
const PropertyList *GetPropertyList(const Value &);
const std::vector<PropertyList *> &GetPropertyListArray(const Value &);
+ common::Spell *GetSpell(const Value &);
graphics::Sprite *GetSprite(const Value &);
const char *GetString(const Value &);
+ common::TargetingMode *GetTargetingMode(const Value &);
const std::vector<Value *> &GetValueArray(const Value &);
geometry::Vector<int> GetVector(const Value &);
void ReadMonster(battle::Monster &, const PropertyList &);
void ReadPartyLayout(battle::PartyLayout &, const PropertyList &);
void ReadSimpleAnimation(graphics::SimpleAnimation &, const PropertyList &);
+ void ReadSpell(common::Spell &, const PropertyList &);
void ReadSprite(graphics::Sprite &, const PropertyList &);
void ReadStats(battle::Stats &, const PropertyList &);
+ void ReadTargetingMode(common::TargetingMode &, const PropertyList &);
private:
const ParsedSource &source;
PARTY_LAYOUT,
PROPERTY_LIST_ARRAY,
SIMPLE_ANIMATION,
+ SPELL,
SPRITE,
STRING,
+ TARGETING_MODE,
VECTOR,
VALUE_ARRAY,
};
std::vector<PropertyList *> propertyLists;
std::vector<std::vector<PropertyList *> > propertyListArrays;
std::vector<graphics::SimpleAnimation *> simpleAnimations;
+ std::vector<common::Spell *> spells;
std::vector<graphics::Sprite *> sprites;
std::vector<const char *> strings;
+ std::vector<common::TargetingMode *> targetingModes;
std::vector<std::vector<Value *> > valueArrays;
std::vector<geometry::Vector<int> > vectors;