]> git.localhorst.tv Git - l2e.git/blob - src/loader/Caster.h
new language, new compiler
[l2e.git] / src / loader / Caster.h
1 #ifndef LOADER_CASTER_H_
2 #define LOADER_CASTER_H_
3
4 namespace battle {
5         struct Resources;
6         class Monster;
7         class PartyLayout;
8 }
9 namespace common {
10         class Capsule;
11         class Hero;
12         class Item;
13         class Spell;
14 }
15 namespace loader {
16         class Interpreter;
17         class Loader;
18 }
19 namespace map {
20         class Map;
21 }
22 namespace menu {
23         struct Resources;
24 }
25
26 #include <string>
27
28 namespace loader {
29
30 class Caster {
31
32 public:
33         Caster(Loader &ld, Interpreter &intp);
34         ~Caster() { }
35 private:
36         Caster(const Caster &);
37         Caster &operator =(const Caster &);
38
39 public:
40         battle::Resources *GetBattleResources(const std::string &identifier);
41         common::Capsule *GetCapsule(const std::string &identifier);
42         common::Hero *GetHero(const std::string &identifier);
43         common::Item *GetItem(const std::string &identifier);
44         map::Map *GetMap(const std::string &identifier);
45         menu::Resources *GetMenuResources(const std::string &identifier);
46         battle::Monster *GetMonster(const std::string &identifier);
47         battle::PartyLayout *GetPartyLayout(const std::string &identifier);
48         common::Spell *GetSpell(const std::string &identifier);
49
50 private:
51         void *GetObject(int typeId, const std::string &ident);
52
53 private:
54         Loader &ld;
55         Interpreter &intp;
56
57 };
58
59 }
60
61 #endif