From c3472b8abd8185f392e6c2afb68a7411232396d6 Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Sun, 27 Jan 2019 08:10:36 +0500 Subject: Added slow GameState sync --- src/GameState.hpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/GameState.hpp') diff --git a/src/GameState.hpp b/src/GameState.hpp index cd39a48..dbea2c3 100644 --- a/src/GameState.hpp +++ b/src/GameState.hpp @@ -3,6 +3,7 @@ #include #include #include +#include #include @@ -67,6 +68,8 @@ class GameState { Window playerInventory; std::vector openedWindows; + + std::mutex accessMutex; public: void Update(float deltaTime); @@ -92,30 +95,37 @@ public: glm::mat4 GetViewMatrix(); inline Entity *GetPlayer() { + std::lock_guard guard(accessMutex); return player; } - inline World &GetWorld() { + inline World GetWorld() { + std::lock_guard guard(accessMutex); return world; } inline TimeStatus GetTimeStatus() { + std::lock_guard guard(accessMutex); return timeStatus; } inline GameStatus GetGameStatus() { + std::lock_guard guard(accessMutex); return gameStatus; } inline PlayerStatus GetPlayerStatus() { + std::lock_guard guard(accessMutex); return playerStatus; } inline SelectionStatus GetSelectionStatus() { + std::lock_guard guard(accessMutex); return selectionStatus; } inline Window &GetInventory() { + std::lock_guard guard(accessMutex); return playerInventory; } }; -- cgit v1.2.3