Integrated CClientState into GameEngine class

This commit is contained in:
Ivan Savenko
2025-02-21 16:53:14 +00:00
parent cacceda950
commit f657e85305
51 changed files with 240 additions and 275 deletions
+14 -4
View File
@@ -26,8 +26,11 @@ class IScreenHandler;
class WindowHandler;
class EventDispatcher;
class InputHandler;
class ISoundPlayer;
class IMusicPlayer;
class CursorHandler;
class IVideoPlayer;
// Handles GUI logic and drawing
class GameEngine
{
private:
@@ -46,6 +49,11 @@ private:
std::unique_ptr<EventDispatcher> eventDispatcherInstance;
std::unique_ptr<InputHandler> inputHandlerInstance;
std::unique_ptr<ISoundPlayer> soundPlayerInstance;
std::unique_ptr<IMusicPlayer> musicPlayerInstance;
std::unique_ptr<CursorHandler> cursorHandlerInstance;
std::unique_ptr<IVideoPlayer> videoPlayerInstance;
public:
boost::mutex interfaceMutex;
@@ -57,6 +65,11 @@ public:
EventDispatcher & events();
InputHandler & input();
ISoundPlayer & sound() { return *soundPlayerInstance; }
IMusicPlayer & music() { return *musicPlayerInstance; }
CursorHandler & cursor() { return *cursorHandlerInstance; }
IVideoPlayer & video() { return *videoPlayerInstance; }
/// Returns current logical screen dimensions
/// May not match size of window if user has UI scaling different from 100%
Point screenDimensions() const;
@@ -74,9 +87,6 @@ public:
/// returns true if Shift is currently pressed down
bool isKeyboardShiftDown() const;
void startTextInput(const Rect & where);
void stopTextInput();
IScreenHandler & screenHandler();
IRenderHandler & renderHandler();
WindowHandler & windows();