summaryrefslogtreecommitdiffstats
path: root/src/GameState.hpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/GameState.hpp12
1 files changed, 11 insertions, 1 deletions
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 <memory>
#include <string>
#include <vector>
+#include <mutex>
#include <glm/mat4x4.hpp>
@@ -67,6 +68,8 @@ class GameState {
Window playerInventory;
std::vector<Window> openedWindows;
+
+ std::mutex accessMutex;
public:
void Update(float deltaTime);
@@ -92,30 +95,37 @@ public:
glm::mat4 GetViewMatrix();
inline Entity *GetPlayer() {
+ std::lock_guard<std::mutex> guard(accessMutex);
return player;
}
- inline World &GetWorld() {
+ inline World GetWorld() {
+ std::lock_guard<std::mutex> guard(accessMutex);
return world;
}
inline TimeStatus GetTimeStatus() {
+ std::lock_guard<std::mutex> guard(accessMutex);
return timeStatus;
}
inline GameStatus GetGameStatus() {
+ std::lock_guard<std::mutex> guard(accessMutex);
return gameStatus;
}
inline PlayerStatus GetPlayerStatus() {
+ std::lock_guard<std::mutex> guard(accessMutex);
return playerStatus;
}
inline SelectionStatus GetSelectionStatus() {
+ std::lock_guard<std::mutex> guard(accessMutex);
return selectionStatus;
}
inline Window &GetInventory() {
+ std::lock_guard<std::mutex> guard(accessMutex);
return playerInventory;
}
};