Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
MouseManager.h
Go to the documentation of this file.
1#pragma once
2
3#include <SDL3/SDL.h>
4#include <mutex>
5#include <string>
6
7
9{
10public:
12 {
13 Initialize();
14 }
15 virtual ~MouseManager()
16 {
17 Shutdown();
18 }
19
20 static MouseManager& GetInstance();
21 static MouseManager& Get() { return GetInstance(); }
22
23 void Initialize();
24 void Shutdown();
25
26 void HandleEvent(const SDL_Event* ev);
27 void BeginFrame(); // Reset per-frame state
28
29private:
30 std::string name;
31 std::mutex m_mutex;
34};
ComponentTypeID GetComponentTypeID_Static()
Definition ECS_Entity.h:56
void HandleEvent(const SDL_Event *ev)
virtual ~MouseManager()
void PostMotionEvent(const SDL_MouseMotionEvent &me)
std::mutex m_mutex
std::string name
static MouseManager & GetInstance()
void PostButtonEvent(const SDL_MouseButtonEvent &be)
static MouseManager & Get()