Advertisement
maxim_shlyahtin

Events

Oct 26th, 2023
800
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1. class Event{
  2. public:
  3.     virtual void event_trigger() = 0;
  4.  
  5.     virtual ~Event() = default;
  6. };
  7.  
  8. class PlayerEvents: public Event{
  9. public:
  10.     PlayerEvents(int value, Player& player):value(value), player(player){}
  11.  
  12.     virtual void event_trigger() = 0;
  13.  
  14.     virtual ~PlayerEvents() = default;
  15.  
  16. protected:
  17.     int value;
  18.     Player& player;
  19. };
  20.  
  21. class Trap: public PlayerEvents{
  22. public:
  23.     Trap(int value, Player& player): PlayerEvents(value, player){}
  24.    
  25.     void event_trigger();
  26.    
  27.     ~Trap() = default;
  28. };
  29.  
  30. class FieldEvents: public Event{
  31. public:
  32.     FieldEvents(std::pair<int, int> new_loc, Field& field, Player& player): new_loc(new_loc), field(field), player(player){}
  33.  
  34.     virtual void event_trigger() = 0;
  35.  
  36.     ~FieldEvents() = default;
  37. protected:
  38.     std::pair<int, int> new_loc;
  39.     Field& field;
  40.     Player& player;
  41. };
  42.  
  43. class Teleport: public FieldEvents{
  44. public:
  45.     Teleport(std::pair<int, int> new_loc, Field& field, Player& player): FieldEvents(new_loc, field, player){}
  46.  
  47.     void event_trigger();
  48.  
  49.     ~Teleport() = default;
  50. };
  51.  
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement