From 64183e2aee084f17a2cb8f92b9a81daa2cd925de Mon Sep 17 00:00:00 2001 From: Thomas Edvalson Date: Mon, 17 Mar 2014 16:25:13 -0400 Subject: [PATCH] Make Simulator's state publicly read-only --- include/cpp3ds/Simulator/Simulator.hpp | 6 ++++-- src/sim3ds/Window/Display.cpp | 2 +- src/sim3ds/Window/Scene.cpp | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/include/cpp3ds/Simulator/Simulator.hpp b/include/cpp3ds/Simulator/Simulator.hpp index 0222920..205585b 100644 --- a/include/cpp3ds/Simulator/Simulator.hpp +++ b/include/cpp3ds/Simulator/Simulator.hpp @@ -33,6 +33,8 @@ namespace cpp3ds { sf::Texture pausedFrameTexture; sf::Sprite pausedFrame; + SimulatorState state = SIM_STOPPED; + void runGame(); void checkThreadState(); void saveScreenshot(); @@ -48,8 +50,7 @@ namespace cpp3ds { public: SFMLWidget *screen; - - SimulatorState state = SIM_STOPPED; + bool isThreadRunning = false; Simulator(Glib::RefPtr app, Glib::RefPtr builder); @@ -60,6 +61,7 @@ namespace cpp3ds { void stop(); float get_slider3d(); + SimulatorState getState(){ return state; } }; // Simulator global to be accessed in-game diff --git a/src/sim3ds/Window/Display.cpp b/src/sim3ds/Window/Display.cpp index 824beb7..2d8f760 100644 --- a/src/sim3ds/Window/Display.cpp +++ b/src/sim3ds/Window/Display.cpp @@ -6,7 +6,7 @@ namespace cpp3ds { void display(){ _simulator->screen->display(); _simulator->screen->renderWindow.clear(); - while (_simulator->state == SIM_PAUSED) + while (_simulator->getState() == SIM_PAUSED) sf:sleep(sf::milliseconds(100)); } diff --git a/src/sim3ds/Window/Scene.cpp b/src/sim3ds/Window/Scene.cpp index 58e9cdf..abc2b7f 100644 --- a/src/sim3ds/Window/Scene.cpp +++ b/src/sim3ds/Window/Scene.cpp @@ -13,7 +13,7 @@ namespace cpp3ds { sf::Clock clock; sf::Time deltaTime; while (ret == 0) { - if (_simulator->state == SIM_STOPPED) + if (_simulator->getState() == SIM_STOPPED) return -1; render(); if (useDisplay)