summaryrefslogtreecommitdiff
path: root/src/options/OptionsModel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/options/OptionsModel.h')
-rw-r--r--src/options/OptionsModel.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/options/OptionsModel.h b/src/options/OptionsModel.h
new file mode 100644
index 0000000..c15fb88
--- /dev/null
+++ b/src/options/OptionsModel.h
@@ -0,0 +1,48 @@
+/*
+ * OptionsModel.h
+ *
+ * Created on: Apr 14, 2012
+ * Author: Simon
+ */
+
+#ifndef OPTIONSMODEL_H_
+#define OPTIONSMODEL_H_
+#include <vector>
+#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(GameModel * gModel);
+ void AddObserver(OptionsView* view);
+ bool GetHeatSimulation();
+ void SetHeatSimulation(bool state);
+ bool GetAmbientHeatSimulation();
+ void SetAmbientHeatSimulation(bool state);
+ bool GetNewtonianGravity();
+ void SetNewtonianGravity(bool state);
+ bool GetWaterEqualisation();
+ void SetWaterEqualisation(bool state);
+ int GetAirMode();
+ void SetAirMode(int airMode);
+ int GetEdgeMode();
+ void SetEdgeMode(int edgeMode);
+ int GetGravityMode();
+ void SetGravityMode(int gravityMode);
+ bool GetFullscreen();
+ void SetFullscreen(bool fullscreen);
+ bool GetFastQuit();
+ void SetFastQuit(bool fastquit);
+ bool GetScale();
+ void SetScale(bool scale);
+ virtual ~OptionsModel();
+};
+
+#endif /* OPTIONSMODEL_H_ */