5 #include <entt/signal/delegate.hpp> 6 #include <entt/signal/sigh.hpp> 27 static void Init() { m_Instance->InitImpl(); }
33 static void PreUpdate() { m_Instance->PreUpdateImpl(); };
41 m_Instance->ShutdownImpl();
48 static void Poll() { m_Instance->PollImpl(); }
50 static bool IsKeyDown(
const std::string& t_KeyName) {
return m_Instance->IsKeyDownImpl(t_KeyName); }
51 static bool IsKeyHeld(
const std::string& t_KeyName) {
return m_Instance->IsKeyHelpImpl(t_KeyName); }
53 static bool IsMouseButtonPressed(
const std::string& t_KeyName) {
return m_Instance->IsMouseButtonPressedImpl(t_KeyName); }
54 static bool IsMouseDown(
const std::string& t_KeyName) {
return m_Instance->IsMouseDownImpl(t_KeyName); }
70 template<auto Cand
idate,
typename Type>
71 static void BindKeyPress(
const std::string& t_KeyName, Type& t_Instance);
74 typedef std::map<std::string, Fling::Key>
KeyMap;
75 typedef std::pair<std::string, Fling::Key>
KeyPair;
78 typedef std::map<std::string, entt::delegate<void()>>
KeyDownMap;
99 m_KeyMap.insert( KeyPair(t_Name,
Fling::Key(t_Name, t_KeyCode)) );
102 virtual void InitImpl() = 0;
103 virtual void PreUpdateImpl() = 0;
104 virtual void ShutdownImpl() = 0;
107 virtual void PollImpl() = 0;
109 virtual void InitKeyMap() = 0;
111 virtual bool IsKeyDownImpl(
const std::string& t_KeyName) = 0;
112 virtual bool IsKeyHelpImpl(
const std::string& t_KeyName) = 0;
114 virtual bool IsMouseButtonPressedImpl(
const std::string& t_KeyName) = 0;
115 virtual bool IsMouseDownImpl(
const std::string& t_KeyName) = 0;
116 virtual MousePos GetMousePosImpl() = 0;
represents the current mouse position in screen space
Definition: Input.h:13
float Y
Definition: Input.h:16
Class that removes the copy operator and constructor.
Definition: NonCopyable.hpp:10
uint32_t UINT32
Definition: FlingTypes.h:13
float X
Definition: Input.h:15