diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-30 16:03:18 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-30 16:03:18 (GMT) |
| commit | 1d297cb57a338f2a9e34d0f16642afc6a83c1041 (patch) | |
| tree | 7d5514be702ff98f9b1e53eecdbf0c67096d76f6 /src/game/GameModel.cpp | |
| parent | 259fc2bcf75d754af043a5d3fa39b6ee0c0b1dec (diff) | |
| download | powder-1d297cb57a338f2a9e34d0f16642afc6a83c1041.zip powder-1d297cb57a338f2a9e34d0f16642afc6a83c1041.tar.gz | |
Line and rect drawing
Diffstat (limited to 'src/game/GameModel.cpp')
| -rw-r--r-- | src/game/GameModel.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp index 34cae1d..92224de 100644 --- a/src/game/GameModel.cpp +++ b/src/game/GameModel.cpp @@ -9,7 +9,7 @@ #include "client/Client.h" GameModel::GameModel(): - activeTool(NULL), + activeTools({NULL, NULL, NULL}), sim(NULL), ren(NULL), currentBrush(0), @@ -44,7 +44,9 @@ GameModel::GameModel(): brushList.push_back(new Brush(ui::Point(4, 4))); brushList.push_back(new EllipseBrush(ui::Point(4, 4))); - activeTool = new ElementTool(1, "TURD", 0, 0, 0); + activeTools[0] = new ElementTool(1, "TURD", 0, 0, 0); + activeTools[1] = new ElementTool(0, "TURD", 0, 0, 0); + //activeTool[1] = new ElementTool(0, "TURD", 0, 0, 0); } GameModel::~GameModel() @@ -63,8 +65,8 @@ GameModel::~GameModel() } delete sim; delete ren; - if(activeTool) - delete activeTool; + if(activeTools) + delete activeTools; } void GameModel::SetVote(int direction) @@ -131,15 +133,15 @@ Menu * GameModel::GetActiveMenu() return activeMenu; } -Tool * GameModel::GetActiveTool() +Tool * GameModel::GetActiveTool(int selection) { - return activeTool; + return activeTools[selection]; } -void GameModel::SetActiveTool(Tool * tool) +void GameModel::SetActiveTool(int selection, Tool * tool) { - activeTool = tool; - notifyActiveToolChanged(); + activeTools[selection] = tool; + notifyActiveToolsChanged(); } vector<Menu*> GameModel::GetMenuList() @@ -162,6 +164,7 @@ void GameModel::SetSave(Save * newSave) sim->Load(currentSave->GetData(), currentSave->GetDataLength()); } notifySaveChanged(); + notifyPausedChanged(); } Simulation * GameModel::GetSimulation() @@ -313,11 +316,11 @@ void GameModel::notifyToolListChanged() } } -void GameModel::notifyActiveToolChanged() +void GameModel::notifyActiveToolsChanged() { for(int i = 0; i < observers.size(); i++) { - observers[i]->NotifyActiveToolChanged(this); + observers[i]->NotifyActiveToolsChanged(this); } } |
