]>
jfr.im git - irc/gameservirc.git/blob - 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
;
10 #include <GameServ/Types.h>
11 using GameServ::Types::ObjectTypes
;
13 #include <boost/smart_ptr/shared_ptr.hpp>
14 using boost::shared_ptr
;
21 #include <boost/smart_ptr/shared_ptr.hpp>
22 using boost::shared_ptr
;
24 namespace GameServ
{ namespace GameLayer
{ namespace GameObjects
26 class LevelGO
: public GameObject
31 LevelGO(const string
&Id
);
35 bool operator==(const LevelGO
&right
) const;
36 bool operator!=(const LevelGO
&right
) const;
38 virtual LevelGO
*Clone(void) const;
40 virtual ObjectTypes::ObjectType
ObjectType(void) const;
42 //! Property set - Master
43 void Master(shared_ptr
<MasterGO
> spMaster
);
45 //! Property get - Master
46 shared_ptr
<MasterGO
> Master(void) const;
48 //! Property set - Monster list
49 void Monsters(const vector
< shared_ptr
<MonsterGO
> > &spMonsters
);
51 //! Property get - Monster List
52 vector
< shared_ptr
<MonsterGO
> > Monsters(void) const;
54 //! Remove a monster from the list
55 void RemoveMonster(shared_ptr
<MonsterGO
> spMonster
);
57 //! Add a monster to the list
58 void AddMonster(shared_ptr
<MonsterGO
> spMonster
);
62 vector
< shared_ptr
<MonsterGO
> > mspMonsters
;
63 shared_ptr
<MasterGO
> mspMaster
;
66 }}} // GameServ::GameLayer::GameObjects