#pragma once #include "ehs/Array.h" #include "ehs/Serializer.h" #include "InputHandler.h" namespace ehs { class EHS_LIB_IO Input { private: Array handlers; bool initalized; public: ~Input(); Input(); Input(Input&& input) noexcept; Input(const Input& input); Input& operator=(Input&& input) noexcept; Input& operator=(const Input& input); void Initialize(); void Release(); void Poll(); bool HasHandler(const UInt_64 hashId) const; bool HasHandler(const Str_8& id) const; bool AddHandler(InputHandler* handler); const InputHandler* GetHandler(const UInt_64 hashId) const; const InputHandler* GetHandler(const Str_8& id) const; bool IsInitialized() const; }; }