Peoplemon  0.1.0
Peoplemon 3 game source documentation
PauseMenu.hpp
Go to the documentation of this file.
1 #ifndef GAME_STATES_PAUSEMENU_HPP
2 #define GAME_STATES_PAUSEMENU_HPP
3 
4 #include <Game/States/State.hpp>
5 
6 #include <BLIB/Interfaces/Menu.hpp>
8 
9 namespace game
10 {
11 namespace state
12 {
18 class PauseMenu
19 : public State
20 , public bl::input::Listener {
21 public:
28  static bl::engine::State::Ptr create(core::system::Systems& systems);
29 
33  virtual ~PauseMenu() = default;
34 
38  virtual const char* name() const override;
39 
43  virtual void activate(bl::engine::Engine&) override;
44 
48  virtual void deactivate(bl::engine::Engine&) override;
49 
55  virtual void update(bl::engine::Engine&, float dt, float) override;
56 
57 private:
58  bl::menu::Menu menu;
59  core::input::MenuDriver inputDriver;
60  bool openedOnce;
61  bool unpause;
62 
63  bl::menu::Item::Ptr resume;
64  bl::menu::Item::Ptr ppldex;
65  bl::menu::Item::Ptr pplmon;
66  bl::menu::Item::Ptr bag;
67  bl::menu::Item::Ptr map;
68  bl::menu::Item::Ptr save;
69  bl::menu::Item::Ptr settings;
70  bl::menu::Item::Ptr quit;
71 
73 
74  virtual bool observe(const bl::input::Actor&, unsigned int activatedControl,
75  bl::input::DispatchType, bool eventTriggered) override;
76 };
77 
78 } // namespace state
79 } // namespace game
80 
81 #endif
bl::menu::TriggerDriver< Control::MoveUp, Control::MoveRight, Control::MoveDown, Control::MoveLeft, Control::Interact > MenuDriver
Helper typedef for Peoplemon specific menu driving.
Definition: MenuDriver.hpp:18
Parent namespace for all functionality unique to the game.
Owns all primary systems and a reference to the engine.
Definition: Systems.hpp:47
Game state for the pause menu.
Definition: PauseMenu.hpp:20
virtual void update(bl::engine::Engine &, float dt, float) override
Updates systems that are not paused.
Definition: PauseMenu.cpp:115
virtual void deactivate(bl::engine::Engine &) override
Unsubscribes from event buses.
Definition: PauseMenu.cpp:108
virtual void activate(bl::engine::Engine &) override
Subscribes to event buses.
Definition: PauseMenu.cpp:96
virtual ~PauseMenu()=default
Destroy the Pause Menu object.
virtual const char * name() const override
Returns "PauseMenu".
Definition: PauseMenu.cpp:94
static bl::engine::State::Ptr create(core::system::Systems &systems)
Creates a new pause menu state.
Definition: PauseMenu.cpp:15
Parent to all game states. Provides some commonly required data like core game systems.
Definition: State.hpp:29
core::system::Systems & systems
Definition: State.hpp:66