summaryrefslogtreecommitdiff
path: root/src/game/GameModel.h
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-01-22 23:24:49 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-01-22 23:24:49 (GMT)
commit8c0678fa48f9598a5ade2d4960c46bfea7e6abef (patch)
tree880535e7984c24948d345932f680ef806baa4cec /src/game/GameModel.h
parent19c1fa5dcb4c4a2ba9d692e136b17da316a2631b (diff)
downloadpowder-8c0678fa48f9598a5ade2d4960c46bfea7e6abef.zip
powder-8c0678fa48f9598a5ade2d4960c46bfea7e6abef.tar.gz
Begining menu, tool
Diffstat (limited to 'src/game/GameModel.h')
-rw-r--r--src/game/GameModel.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/game/GameModel.h b/src/game/GameModel.h
index 753e19d..d65165b 100644
--- a/src/game/GameModel.h
+++ b/src/game/GameModel.h
@@ -8,6 +8,9 @@
#include "GameView.h"
#include "Brush.h"
+#include "Tool.h"
+#include "Menu.h"
+
using namespace std;
class GameView;
@@ -18,16 +21,21 @@ class GameModel
{
private:
vector<GameView*> observers;
+ vector<Tool*> toolList;
+ vector<Menu*> menuList;
+ Menu * activeMenu;
Brush * currentBrush;
Save * currentSave;
Simulation * sim;
Renderer * ren;
- int activeElement;
+ Tool * activeTool;
void notifyRendererChanged();
void notifySimulationChanged();
void notifyPausedChanged();
void notifySaveChanged();
void notifyBrushChanged();
+ void notifyMenuListChanged();
+ void notifyToolListChanged();
public:
GameModel();
~GameModel();
@@ -35,11 +43,15 @@ public:
Brush * GetBrush();
void SetSave(Save * newSave);
void AddObserver(GameView * observer);
- int GetActiveElement();
- void SetActiveElement(int element);
+ Tool * GetActiveTool();
+ void SetActiveTool(Tool * tool);
bool GetPaused();
void SetPaused(bool pauseState);
void ClearSimulation();
+ vector<Menu*> GetMenuList();
+ vector<Tool*> GetToolList();
+ void SetActiveMenu(Menu * menu);
+ Menu * GetActiveMenu();
Simulation * GetSimulation();
Renderer * GetRenderer();