]> git.localhorst.tv Git - l2e.git/blobdiff - src/loader/Caster.h
added Caster class to simplify the code in main()
[l2e.git] / src / loader / Caster.h
diff --git a/src/loader/Caster.h b/src/loader/Caster.h
new file mode 100644 (file)
index 0000000..2718fc0
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Caster.h
+ *
+ *  Created on: Sep 19, 2012
+ *      Author: holy
+ */
+
+#ifndef LOADER_CASTER_H_
+#define LOADER_CASTER_H_
+
+#include "Interpreter.h"
+
+#include <string>
+
+namespace battle {
+       class Hero;
+       class Monster;
+       class PartyLayout;
+       class Resources;
+}
+
+namespace common {
+       class Item;
+       class Spell;
+}
+
+namespace loader {
+
+class Caster {
+
+public:
+       Caster(Interpreter &intp);
+       ~Caster() { }
+private:
+       Caster(const Caster &);
+       Caster &operator =(const Caster &);
+
+public:
+       battle::Resources *GetBattleResources(const std::string &identifier);
+       battle::Hero *GetHero(const std::string &identifier);
+       common::Item *GetItem(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;
+
+       int battleResourcesId;
+       int heroId;
+       int itemId;
+       int monsterId;
+       int partyLayoutId;
+       int spellId;
+
+};
+
+}
+
+#endif /* LOADER_CASTER_H_ */