]> jfr.im git - irc/gameservirc.git/blob - gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/GameObjects/LevelGO.h
Changed Range to be a template class so it can be used with unsigned & signed ints...
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / include / GameServ / GameLayer / GameObjects / LevelGO.h
1 #ifndef __GS__LEVEL_H__
2 #define __GS__LEVEL_H__
3 #include <GameServ/GameLayer/GameObjects/GameObject.h>
4 using GameServ::GameLayer::GameObjects::GameObject;
5 #include <GameServ/GameLayer/GameObjects/MasterGO.h>
6 using GameServ::GameLayer::GameObjects::MasterGO;
7 #include <GameServ/GameLayer/GameObjects/MonsterGO.h>
8 using GameServ::GameLayer::GameObjects::MonsterGO;
9
10 #include <GameServ/Types.h>
11 using GameServ::Types::ObjectTypes;
12 using GameServ::Types::Range;
13
14 #include <boost/smart_ptr/shared_ptr.hpp>
15 using boost::shared_ptr;
16
17 #include <string>
18 using std::string;
19 #include <vector>
20 using std::vector;
21
22 #include <boost/smart_ptr/shared_ptr.hpp>
23 using boost::shared_ptr;
24
25 namespace GameServ { namespace GameLayer { namespace GameObjects
26 {
27 class LevelGO : public GameObject
28 {
29 public:
30
31 LevelGO();
32 LevelGO(const string &Id);
33
34 virtual ~LevelGO();
35
36 virtual LevelGO *Clone(void) const;
37
38 virtual ObjectTypes::ObjectType ObjectType(void) const;
39
40 //! Property set - Level number
41 void Number(const unsigned int &value);
42
43 //! Property get - Level number
44 unsigned int Number(void) const;
45
46 //! Property set - Strength Range
47 void StrengthRange(const Range<int> &value);
48 //! Property get - Strength Range
49 Range<int> StrengthRange(void) const;
50
51
52 //! Property set - Defense Range
53 void DefenseRange(const Range<int> &value);
54 //! Property get - Defense Range
55 Range<int> DefenseRange(void) const;
56
57 //! Property set - Gold Range
58 void GoldRange(const Range<int> &value);
59 //! Property get - Gold Range
60 Range<int> GoldRange(void) const;
61
62 //! Property set - Experience Range
63 void ExperienceRange(const Range<int> &value);
64 //! Property get - Experience Range
65 Range<int> ExperienceRange(void) const;
66
67
68 //! Property set - Health Range
69 void HealthRange(const Range<int> &value);
70 //! Property get - Health Range
71 Range<int> HealthRange(void) const;
72
73
74 private:
75 unsigned int mNumber;
76 Range<int> mStrength;
77 Range<int> mDefense;
78 Range<int> mGold;
79 Range<int> mExperience;
80 Range<int> mHealth;
81 };
82 }}} // GameServ::GameLayer::GameObjects
83 #endif