summaryrefslogtreecommitdiff
path: root/src/game/GameModel.cpp
diff options
context:
space:
mode:
authorSimon 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)
commit1d297cb57a338f2a9e34d0f16642afc6a83c1041 (patch)
tree7d5514be702ff98f9b1e53eecdbf0c67096d76f6 /src/game/GameModel.cpp
parent259fc2bcf75d754af043a5d3fa39b6ee0c0b1dec (diff)
downloadpowder-1d297cb57a338f2a9e34d0f16642afc6a83c1041.zip
powder-1d297cb57a338f2a9e34d0f16642afc6a83c1041.tar.gz
Line and rect drawing
Diffstat (limited to 'src/game/GameModel.cpp')
-rw-r--r--src/game/GameModel.cpp25
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);
}
}