YAPOG  0.0.1
Yet Another Pokemon Online Game
IPlayer.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_IPLAYER_HPP
2 # define YAPOG_IPLAYER_HPP
3 
4 # include "YAPOG/Game/ID.hpp"
8 
9 namespace yap
10 {
11  struct IDynamicWorldObjectVisitor;
12  struct IDynamicWorldObjectConstVisitor;
13 
14  class DynamicWorldObject;
15 
17  struct IPlayer
18  {
19  virtual ~IPlayer () { }
20 
21  virtual void Accept (IDynamicWorldObjectVisitor& visitor) = 0;
22  virtual void Accept (
23  IDynamicWorldObjectConstVisitor& visitor) const = 0;
24 
25  virtual const String& GetName () const = 0;
26 
27  virtual bool HasInput (GameInputType gameInputType) const = 0;
28 
29  virtual void Warp (const ID& mapWorldID, const Vector2& point) = 0;
30 
31  virtual void DestroyObject (const ID& objectWorldID) = 0;
32 
34  virtual void TriggerBattle () = 0;
35 
37  };
38 } // namespace yap
39 
40 #endif // YAPOG_IPLAYER_HPP