Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Event{
- public:
- virtual void event_trigger() = 0;
- virtual ~Event() = default;
- };
- class PlayerEvents: public Event{
- public:
- PlayerEvents(int value, Player& player):value(value), player(player){}
- virtual void event_trigger() = 0;
- virtual ~PlayerEvents() = default;
- protected:
- int value;
- Player& player;
- };
- class Trap: public PlayerEvents{
- public:
- Trap(int value, Player& player): PlayerEvents(value, player){}
- void event_trigger();
- ~Trap() = default;
- };
- class FieldEvents: public Event{
- public:
- FieldEvents(std::pair<int, int> new_loc, Field& field, Player& player): new_loc(new_loc), field(field), player(player){}
- virtual void event_trigger() = 0;
- ~FieldEvents() = default;
- protected:
- std::pair<int, int> new_loc;
- Field& field;
- Player& player;
- };
- class Teleport: public FieldEvents{
- public:
- Teleport(std::pair<int, int> new_loc, Field& field, Player& player): FieldEvents(new_loc, field, player){}
- void event_trigger();
- ~Teleport() = default;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement