#ifndef InputController_h__ #define InputController_h__ #include "../Common.h" #include "EventBroker.h" #include "EMouseMove.h" #include "../Input/EInputCommand.h" template class InputController { public: InputController(std::shared_ptr eventBroker) : EventBroker(eventBroker) { Initialize(); } virtual void Initialize() { EVENT_SUBSCRIBE_MEMBER( _EInputCommand, &InputController::OnCommand); EVENT_SUBSCRIBE_MEMBER(m_EMouseMove, &InputController::OnMouseMove); } virtual bool OnCommand(const Events::InputCommand &event) { return false; } virtual bool OnMouseMove(const Events::MouseMove &event) { return false; } protected: std::shared_ptr EventBroker; private: EventRelay m_EInputCommand; EventRelay m_EMouseMove; }; #endif