YAPOG  0.0.1
Yet Another Pokemon Online Game
BaseMapEventAction.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_BASEMAPEVENTACTION_HPP
2 # define YAPOG_BASEMAPEVENTACTION_HPP
3 
4 # include "YAPOG/Macros.hpp"
7 
8 namespace yap
9 {
11  {
13 
14  public:
15 
16  virtual ~BaseMapEventAction ();
17 
20  virtual bool Execute (
21  MapEventActionType contextType,
22  DynamicWorldObject& trigger,
23  MapEventArgs& args);
25 
28  virtual void VisitDynamicWorldObject (DynamicWorldObject& visitable);
29  virtual void VisitCharacter (Character& visitable);
30  virtual void VisitPlayer (IPlayer& visitable);
31  virtual void VisitTeleporter (Teleporter& visitable);
32  virtual void VisitDestructibleObject (DestructibleObject& visitable);
33  virtual void VisitBattleSpawnerArea (BattleSpawnerArea& visitable);
35 
36  protected:
37 
39 
41 
42  MapEventActionType GetContextType () const;
43 
44  MapEventArgs& GetArgs ();
45 
46  private:
47 
48  virtual bool HandleExecute (MapEventArgs& args);
49 
51 
53 
55  };
56 } // namespace yap
57 
58 #endif // YAPOG_BASEMAPEVENTACTION_HPP