diff options
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/GameModel.cpp | 7 | ||||
| -rw-r--r-- | src/game/Tool.h | 12 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp index 453232f..c040566 100644 --- a/src/game/GameModel.cpp +++ b/src/game/GameModel.cpp @@ -92,6 +92,13 @@ GameModel::GameModel(): menuList[SC_WALL]->AddTool(tempTool); //sim->wtypes[i] } + + //Build menu for simtools + for(int i = 0; i < sim->tools.size(); i++) + { + Tool * tempTool = new Tool(i, sim->tools[i]->Name, PIXR(sim->tools[i]->Colour), PIXG(sim->tools[i]->Colour), PIXB(sim->tools[i]->Colour)); + menuList[SC_TOOL]->AddTool(tempTool); + } //Add decoration tools to menu menuList[SC_DECO]->AddTool(new DecorationTool(DecorationTool::BlendAdd, "ADD", 0, 0, 0)); diff --git a/src/game/Tool.h b/src/game/Tool.h index 107c8cc..9f88188 100644 --- a/src/game/Tool.h +++ b/src/game/Tool.h @@ -28,9 +28,15 @@ public: } string GetName() { return toolName; } virtual ~Tool() {} - virtual void Draw(Simulation * sim, Brush * brush, ui::Point position) {} - virtual void DrawLine(Simulation * sim, Brush * brush, ui::Point position1, ui::Point position2) {} - virtual void DrawRect(Simulation * sim, Brush * brush, ui::Point position1, ui::Point position2) {} + virtual void Draw(Simulation * sim, Brush * brush, ui::Point position) { + sim->ToolBrush(position.X, position.Y, toolID, brush); + } + virtual void DrawLine(Simulation * sim, Brush * brush, ui::Point position1, ui::Point position2) { + sim->ToolLine(position1.X, position1.Y, position2.X, position2.Y, toolID, brush); + } + virtual void DrawRect(Simulation * sim, Brush * brush, ui::Point position1, ui::Point position2) { + sim->ToolBox(position1.X, position1.Y, position2.X, position2.Y, toolID, brush); + } virtual void DrawFill(Simulation * sim, Brush * brush, ui::Point position) {}; int colRed, colBlue, colGreen; }; |
