diff options
Diffstat (limited to 'src/game/GameController.cpp')
| -rw-r--r-- | src/game/GameController.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index b00c802..d7c9633 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -11,9 +11,23 @@ using namespace std; +class GameController::LoginCallback: public ControllerCallback +{ + GameController * cc; +public: + LoginCallback(GameController * cc_) { cc = cc_; } + virtual void ControllerExit() + { + cc->gameModel->SetUser(cc->loginWindow->GetUser()); + delete cc->loginWindow; + cc->loginWindow = NULL; + } +}; + GameController::GameController(): search(NULL), - renderOptions(NULL) + renderOptions(NULL), + loginWindow(NULL) { gameView = new GameView(); gameModel = new GameModel(); @@ -135,7 +149,7 @@ void GameController::OpenSearch() void GameController::OpenLogin() { - loginWindow = new LoginController(); + loginWindow = new LoginController(new LoginCallback(this)); ui::Engine::Ref().ShowWindow(loginWindow->GetView()); } |
