]> jfr.im git - irc/gameservirc.git/blob - gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/GameObjects/ItemGO.h
Fixed up Modifiers for items
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / include / GameServ / GameLayer / GameObjects / ItemGO.h
1 #ifndef __GS__ITEM_H__
2 #define __GS__ITEM_H__
3 #include <GameServ/GameLayer/GameObjects/GameObject.h>
4 using GameServ::GameLayer::GameObjects::GameObject;
5 #include <GameServ/Types.h>
6 using GameServ::Types::ItemTypes;
7 using GameServ::Types::Modifiers;
8
9 #include <string>
10 using std::string;
11 #include <map>
12 using std::map;
13
14 namespace GameServ { namespace GameLayer { namespace GameObjects {
15
16 class ItemGO : public GameObject
17 {
18 public:
19 ItemGO();
20 virtual ~ItemGO();
21
22 //! Property get - Name
23 string Name(void) const;
24 //! Property set - Name
25 void Name(const string &value);
26
27 //! Property get - Price
28 unsigned long int Price(void) const;
29 //! Property set - Price
30 void Price(const unsigned long int &value);
31
32 //! Property get - Uses
33 int Uses(void) const;
34 //! Property set - Uses
35 void Uses(const int &value);
36
37 //! Property get - Item Type
38 ItemTypes::ItemType Type(void) const;
39
40 //! Property set - Item Type
41 void Type(const ItemTypes::ItemType &value);
42
43 //! Property get - Modifiers
44 map<Modifiers::Modifier, int> Modifiers(void) const;
45
46 //! Property set - Modifiers
47 void Modifiers(const map<Modifiers::Modifier, int> &modifiers);
48
49 virtual ItemGO *Clone(void) const;
50
51 protected:
52 string mName;
53 unsigned long int mPrice;
54 int mUses;
55 ItemTypes::ItemType mType;
56 map<Modifiers::Modifier, int> mModifiers;
57 };
58 }}}
59 #endif