-/*
- * Caster.h
- *
- * Created on: Sep 19, 2012
- * Author: holy
- */
-
#ifndef LOADER_CASTER_H_
#define LOADER_CASTER_H_
-#include "Interpreter.h"
-#include "../battle/fwd.h"
-#include "../common/fwd.h"
+namespace battle {
+ struct Resources;
+ class Monster;
+ class PartyLayout;
+}
+namespace common {
+ class Capsule;
+ class Hero;
+ class Item;
+ class Spell;
+}
+namespace loader {
+ class Interpreter;
+ class Loader;
+}
+namespace map {
+ class Map;
+}
+namespace menu {
+ struct Resources;
+}
#include <string>
class Caster {
public:
- Caster(Interpreter &intp);
+ Caster(Loader &ld, Interpreter &intp);
~Caster() { }
private:
Caster(const Caster &);
public:
battle::Resources *GetBattleResources(const std::string &identifier);
+ common::Capsule *GetCapsule(const std::string &identifier);
common::Hero *GetHero(const std::string &identifier);
common::Item *GetItem(const std::string &identifier);
+ map::Map *GetMap(const std::string &identifier);
+ menu::Resources *GetMenuResources(const std::string &identifier);
battle::Monster *GetMonster(const std::string &identifier);
battle::PartyLayout *GetPartyLayout(const std::string &identifier);
common::Spell *GetSpell(const std::string &identifier);
private:
- Interpreter &intp;
+ void *GetObject(int typeId, const std::string &ident);
- int battleResourcesId;
- int heroId;
- int itemId;
- int monsterId;
- int partyLayoutId;
- int spellId;
+private:
+ Loader &ld;
+ Interpreter &intp;
};
}
-#endif /* LOADER_CASTER_H_ */
+#endif