summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-04-15 21:16:57 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-04-15 21:16:57 (GMT)
commita0506495ad71a18ba2976d31d437dfd6bd8241f8 (patch)
tree9a48cf745af2379fcd2a922b75807f34f6971bfe /src/game
parent900e23128a16bd49d8929a232ac57fc7e30ad3f9 (diff)
downloadpowder-a0506495ad71a18ba2976d31d437dfd6bd8241f8.zip
powder-a0506495ad71a18ba2976d31d437dfd6bd8241f8.tar.gz
Simulation options
Diffstat (limited to 'src/game')
-rw-r--r--src/game/GameController.cpp20
-rw-r--r--src/game/GameController.h5
-rw-r--r--src/game/GameView.cpp2
3 files changed, 22 insertions, 5 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index 40d7501..cf100ea 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -59,6 +59,17 @@ public:
}
};
+class GameController::OptionsCallback: public ControllerCallback
+{
+ GameController * cc;
+public:
+ OptionsCallback(GameController * cc_) { cc = cc_; }
+ virtual void ControllerExit()
+ {
+ //cc->gameModel->SetUser(cc->loginWindow->GetUser());
+ }
+};
+
class GameController::SSaveCallback: public ControllerCallback
{
GameController * cc;
@@ -108,7 +119,8 @@ GameController::GameController():
loginWindow(NULL),
ssave(NULL),
console(NULL),
- tagsWindow(NULL)
+ tagsWindow(NULL),
+ options(NULL)
{
gameView = new GameView();
gameModel = new GameModel();
@@ -484,9 +496,11 @@ void GameController::OpenStamps()
ui::Engine::Ref().ShowWindow(stamps->GetView());
}
-void GameController::OpenDisplayOptions()
+void GameController::OpenOptions()
{
- //TODO: Implement
+ options = new OptionsController(gameModel->GetSimulation(), new OptionsCallback(this));
+ ui::Engine::Ref().ShowWindow(options->GetView());
+
}
void GameController::ShowConsole()
diff --git a/src/game/GameController.h b/src/game/GameController.h
index b9629ed..8f49668 100644
--- a/src/game/GameController.h
+++ b/src/game/GameController.h
@@ -15,6 +15,7 @@
#include "stamps/StampsController.h"
//#include "cat/TPTScriptInterface.h"
#include "cat/LuaScriptInterface.h"
+#include "options/OptionsController.h"
#include "Menu.h"
using namespace std;
@@ -36,6 +37,7 @@ private:
ConsoleController * console;
TagsController * tagsWindow;
StampsController * stamps;
+ OptionsController * options;
CommandInterface * commandInterface;
public:
class LoginCallback;
@@ -44,6 +46,7 @@ public:
class SSaveCallback;
class TagsCallback;
class StampsCallback;
+ class OptionsCallback;
GameController();
~GameController();
GameView * GetView();
@@ -77,7 +80,7 @@ public:
void OpenSearch();
void OpenLogin();
void OpenTags();
- void OpenDisplayOptions();
+ void OpenOptions();
void OpenRenderOptions();
void OpenSaveWindow();
void OpenStamps();
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index d27230b..3c47568 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -169,7 +169,7 @@ GameView::GameView():
SimulationOptionAction(GameView * _v) { v = _v; }
void ActionCallback(ui::Button * sender)
{
- v->c->OpenDisplayOptions();
+ v->c->OpenOptions();
}
};
simulationOptionButton = new ui::Button(ui::Point(Size.X-54, Size.Y-18), ui::Point(16, 16));