summaryrefslogtreecommitdiff
path: root/src/game/SignTool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SignTool.cpp')
-rw-r--r--src/game/SignTool.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/game/SignTool.cpp b/src/game/SignTool.cpp
index 50ddb8a..fa004a8 100644
--- a/src/game/SignTool.cpp
+++ b/src/game/SignTool.cpp
@@ -26,17 +26,16 @@ public:
OkayAction(SignWindow * prompt_) { prompt = prompt_; }
void ActionCallback(ui::Button * sender)
{
- ui::Engine::Ref().CloseWindow();
- prompt->SelfDestruct();
-
+ ui::Engine::Ref().CloseWindow();
if(prompt->signID==-1 && prompt->textField->GetText().length())
{
prompt->sim->signs.push_back(sign(prompt->textField->GetText(), prompt->signPosition.X, prompt->signPosition.Y, sign::Left));
}
- else
+ else if(prompt->textField->GetText().length())
{
prompt->sim->signs[prompt->signID] = sign(sign(prompt->textField->GetText(), prompt->signPosition.X, prompt->signPosition.Y, sign::Left));
}
+ prompt->SelfDestruct();
}
};
@@ -71,11 +70,7 @@ void SignWindow::OnDraw()
g->drawrect(Position.X, Position.Y, Size.X, Size.Y, 200, 200, 200, 255);
}
-void SignTool::Draw(Simulation * sim, Brush * brush, ui::Point position)
+void SignTool::Click(Simulation * sim, Brush * brush, ui::Point position)
{
- if(!opened) //Ensure the dialogue can only be shown one at a time.
- {
- opened = true;
- new SignWindow(this, sim, -1, position);
- }
+ new SignWindow(this, sim, -1, position);
} \ No newline at end of file