summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/GameController.cpp9
-rw-r--r--src/game/GameController.h2
-rw-r--r--src/game/GameView.cpp2
-rw-r--r--src/login/LoginController.cpp5
-rw-r--r--src/login/LoginController.h1
5 files changed, 13 insertions, 6 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index 85518f7..5399cf8 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -19,8 +19,6 @@ public:
virtual void ControllerExit()
{
cc->gameModel->SetUser(cc->loginWindow->GetUser());
- delete cc->loginWindow;
- cc->loginWindow = NULL;
}
};
@@ -116,9 +114,14 @@ void GameController::DrawPoints(queue<ui::Point*> & pointQueue)
}
}
-void GameController::Tick()
+void GameController::Update()
{
//gameModel->GetSimulation()->update_particles();
+ if(loginWindow && loginWindow->HasExited)
+ {
+ delete loginWindow;
+ loginWindow = NULL;
+ }
}
void GameController::SetPaused(bool pauseState)
diff --git a/src/game/GameController.h b/src/game/GameController.h
index 157df99..4f076fd 100644
--- a/src/game/GameController.h
+++ b/src/game/GameController.h
@@ -31,7 +31,7 @@ public:
GameView * GetView();
void AdjustBrushSize(int direction);
void DrawPoints(queue<ui::Point*> & pointQueue);
- void Tick();
+ void Update();
void SetPaused(bool pauseState);
void SetPaused();
void SetActiveMenu(Menu * menu);
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index 70f6663..4695227 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -414,7 +414,7 @@ void GameView::OnTick(float dt)
{
c->DrawPoints(pointQueue);
}
- c->Tick();
+ c->Update();
}
void GameView::OnDraw()
diff --git a/src/login/LoginController.cpp b/src/login/LoginController.cpp
index a3162be..1a21fc6 100644
--- a/src/login/LoginController.cpp
+++ b/src/login/LoginController.cpp
@@ -8,7 +8,9 @@
#include "LoginController.h"
#include "client/User.h"
-LoginController::LoginController(ControllerCallback * callback) {
+LoginController::LoginController(ControllerCallback * callback):
+ HasExited(false)
+{
// TODO Auto-generated constructor stub
loginView = new LoginView();
loginModel = new LoginModel();
@@ -38,6 +40,7 @@ void LoginController::Exit()
}
if(callback)
callback->ControllerExit();
+ HasExited = true;
}
LoginController::~LoginController() {
diff --git a/src/login/LoginController.h b/src/login/LoginController.h
index eb15d64..b20e187 100644
--- a/src/login/LoginController.h
+++ b/src/login/LoginController.h
@@ -23,6 +23,7 @@ class LoginController {
LoginModel * loginModel;
ControllerCallback * callback;
public:
+ bool HasExited;
LoginController(ControllerCallback * callback = NULL);
void Login(string username, string password);
void Exit();