summaryrefslogtreecommitdiff
path: root/src/gui/options/OptionsModel.h
blob: 1fdf372bf75dd5a1893a5e2041881d954af18488 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#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);
	bool GetShowAvatars();
	void SetShowAvatars(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_ */