////////////////////////////////////// // Created by Pontus Fransson 2014 // ////////////////////////////////////// #ifndef MISC_EVENT_HANDLER_H #define MISC_EVENT_HANDLER_H #include "../../Input/L_inputClass.h" #include "EventButtonCollection.h" #include "EventButton.h" #include namespace Oyster { namespace Event { class EventHandler { public: EventHandler(); ~EventHandler(); static EventHandler& Instance(); void Clean(); void Update(MouseInput& input); void Render(); /*Add a collection to the EventHandler will only add collections not already present in the list. */ void AddCollection(EventButtonCollection* collection); void ReleaseCollection(EventButtonCollection* collection); private: //Can't copy this class. EventHandler(const EventHandler& obj); EventHandler& operator =(const EventHandler& obj); private: std::vector collections; //EventButtonCollection is a friend so it can delete it self. friend class EventButtonCollection; }; } } #endif