diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-30 15:19:44 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-30 15:19:44 (GMT) |
| commit | 90ebd3e54c376b7baa80d9d739f3ace62f6991cd (patch) | |
| tree | 088fda9399f50b6f172e36ae5ffe6c89c0f338ab /src/options | |
| parent | d6f832b4f572bbb79a33590da71c2d8975b15728 (diff) | |
| download | powder-90ebd3e54c376b7baa80d9d739f3ace62f6991cd.zip powder-90ebd3e54c376b7baa80d9d739f3ace62f6991cd.tar.gz | |
Better hanling of edgeMode and "New Sim" button
Diffstat (limited to 'src/options')
| -rw-r--r-- | src/options/OptionsController.cpp | 5 | ||||
| -rw-r--r-- | src/options/OptionsController.h | 4 | ||||
| -rw-r--r-- | src/options/OptionsModel.cpp | 10 | ||||
| -rw-r--r-- | src/options/OptionsModel.h | 4 |
4 files changed, 15 insertions, 8 deletions
diff --git a/src/options/OptionsController.cpp b/src/options/OptionsController.cpp index add8cf7..579ad73 100644 --- a/src/options/OptionsController.cpp +++ b/src/options/OptionsController.cpp @@ -8,12 +8,13 @@ #include "OptionsController.h" #include "dialogues/ErrorMessage.h" -OptionsController::OptionsController(Simulation * sim, ControllerCallback * callback_): +OptionsController::OptionsController(GameModel * gModel_, ControllerCallback * callback_): callback(callback_), + gModel(gModel_), HasExited(false) { view = new OptionsView(); - model = new OptionsModel(sim); + model = new OptionsModel(gModel); model->AddObserver(view); view->AttachController(this); diff --git a/src/options/OptionsController.h b/src/options/OptionsController.h index 862a0e2..43db1f8 100644 --- a/src/options/OptionsController.h +++ b/src/options/OptionsController.h @@ -13,15 +13,17 @@ #include "OptionsView.h" #include "OptionsModel.h" +class GameModel; class OptionsModel; class OptionsView; class OptionsController { + GameModel * gModel; OptionsView * view; OptionsModel * model; ControllerCallback * callback; public: bool HasExited; - OptionsController(Simulation * sim, ControllerCallback * callback_); + OptionsController(GameModel * gModel_, ControllerCallback * callback_); void SetHeatSimulation(bool state); void SetAmbientHeatSimulation(bool state); void SetNewtonianGravity(bool state); diff --git a/src/options/OptionsModel.cpp b/src/options/OptionsModel.cpp index be88d9b..f9cef2f 100644 --- a/src/options/OptionsModel.cpp +++ b/src/options/OptionsModel.cpp @@ -6,10 +6,12 @@ */ #include "simulation/Air.h" +#include "game/GameModel.h" #include "OptionsModel.h" -OptionsModel::OptionsModel(Simulation * sim_) { - sim = sim_; +OptionsModel::OptionsModel(GameModel * gModel_) { + gModel = gModel_; + sim = gModel->GetSimulation(); } void OptionsModel::AddObserver(OptionsView* view) @@ -77,11 +79,11 @@ void OptionsModel::SetAirMode(int airMode) int OptionsModel::GetEdgeMode() { - return sim->edgeMode; + return gModel->GetEdgeMode(); } void OptionsModel::SetEdgeMode(int edgeMode) { - sim->SetEdgeMode(edgeMode); + gModel->SetEdgeMode(edgeMode); notifySettingsChanged(); } diff --git a/src/options/OptionsModel.h b/src/options/OptionsModel.h index b011fef..52b7fa5 100644 --- a/src/options/OptionsModel.h +++ b/src/options/OptionsModel.h @@ -11,14 +11,16 @@ #include "OptionsView.h" #include "simulation/Simulation.h" +class GameModel; class Simulation; class OptionsView; class OptionsModel { + GameModel * gModel; Simulation * sim; std::vector<OptionsView*> observers; void notifySettingsChanged(); public: - OptionsModel(Simulation * sim_); + OptionsModel(GameModel * gModel); void AddObserver(OptionsView* view); bool GetHeatSimulation(); void SetHeatSimulation(bool state); |
