#ifndef MainMenuSystem_h__ #define MainMenuSystem_h__ #include "Core/System.h" #include "Rendering/IRenderer.h" #include "Core/ResourceManager.h" #include "Core/Event.h" #include "Systems/SpawnerSystem.h" #include "GUI/EButtonClicked.h" #include "GUI/EButtonPressed.h" #include "GUI/EButtonReleased.h" #include "Input/EInputCommand.h" #include "Network/ESearchForServers.h" #include "Network/EConnectRequest.h" class MainMenuSystem : public ImpureSystem { public: MainMenuSystem(SystemParams params, IRenderer* renderer); virtual void Update(double dt) override; private: IRenderer* m_Renderer; void OnPlay(const Events::InputCommand& e); void OnOptions(const Events::InputCommand& e); EventRelay m_EClicked; bool OnButtonClick(const Events::ButtonClicked& e); EventRelay m_EReleased; bool OnButtonRelease(const Events::ButtonReleased& e); EventRelay m_EPressed; bool OnButtonPress(const Events::ButtonPressed& e); EventRelay m_EInputCommand; bool OnInputCommand(const Events::InputCommand& e); std::string m_CurrentCommand = ""; EntityWrapper m_OpenSubMenu = EntityWrapper::Invalid; }; #endif