Skip to content

Commit 51824ee

Browse files
committed
Refactored GameViewContainer to handle GameOptionsDialog signals
1 parent 420f8fa commit 51824ee

5 files changed

+11
-28
lines changed

appOPHD/States/MapViewState.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,8 @@ MapViewState::~MapViewState()
251251
eventHandler.windowResized().disconnect({this, &MapViewState::onWindowResized});
252252

253253
NAS2D::Utility<std::map<class MineFacility*, Route>>::get().clear();
254+
255+
mGameOptionsDialog.returnToMainMenuButtonSignal().disconnect({this, &MapViewState::onGameOver});
254256
}
255257

256258

appOPHD/States/MapViewState.h

-2
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,6 @@ class MapViewState : public Wrapper
271271

272272
void onNotificationClicked(const NotificationArea::Notification&);
273273

274-
void onOpenSaveGameDialog();
275-
void onOpenLoadGameDialog();
276274
void onGameOver();
277275

278276
void onStructuresSelectionChange(const IconGrid::Item*);

appOPHD/States/MapViewStateUi.cpp

-26
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,7 @@ void MapViewState::initUi()
8585
mGameOverDialog.returnToMainMenu().connect({this, &MapViewState::onGameOver});
8686
mGameOverDialog.hide();
8787

88-
mGameOptionsDialog.saveGameDialogButtonSignal().connect({this, &MapViewState::onOpenSaveGameDialog});
89-
mGameOptionsDialog.loadGameDialogButtonSignal().connect({this, &MapViewState::onOpenLoadGameDialog});
9088
mGameOptionsDialog.returnToMainMenuButtonSignal().connect({this, &MapViewState::onGameOver});
91-
mGameOptionsDialog.hide();
9289

9390
mAnnouncement.hide();
9491
mMineOperationsWindow.hide();
@@ -605,29 +602,6 @@ void MapViewState::onDiggerSelectionDialog(Direction direction, Tile& tile)
605602
}
606603

607604

608-
/**
609-
* Click handler for the main menu Save Game button.
610-
*/
611-
void MapViewState::onOpenSaveGameDialog()
612-
{
613-
mGameOptionsDialog.hide();
614-
mFileIoDialog.showSave(constants::SaveGamePath);
615-
}
616-
617-
618-
/**
619-
* Click handler for the main menu Load Game button.
620-
*/
621-
void MapViewState::onOpenLoadGameDialog()
622-
{
623-
mGameOptionsDialog.hide();
624-
mFileIoDialog.showOpen(constants::SaveGamePath);
625-
}
626-
627-
628-
/**
629-
* Click handler for the main menu Return to Main Menu Screen button.
630-
*/
631605
void MapViewState::onGameOver()
632606
{
633607
mFade.fadeOut(constants::FadeSpeed);

appOPHD/UI/GameViewContainer.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ GameViewContainer::GameViewContainer(GameState& gameState) :
66
UIContainer{{&mFileIoDialog}},
77
mFileIoDialog{gameState.fileLoadDelegate(), gameState.fileSaveDelegate()}
88
{
9+
mGameOptionsDialog.hide();
10+
11+
mGameOptionsDialog.saveGameDialogButtonSignal().connect({this, &GameViewContainer::showSaveDialog});
12+
mGameOptionsDialog.loadGameDialogButtonSignal().connect({this, &GameViewContainer::showLoadDialog});
13+
914
mFileIoDialog.hide();
1015
mFileIoDialog.anchored(true);
1116

appOPHD/UI/GameViewContainer.h

+4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
#include "FileIo.h"
44
#include "GameOptionsDialog.h"
55

6+
#include "../Constants/Strings.h"
7+
68
#include <libControls/UIContainer.h>
79
#include <libControls/Button.h>
810

@@ -16,6 +18,8 @@ class GameViewContainer : public UIContainer
1618
GameOptionsDialog& gameOptionsDialog() { return mGameOptionsDialog; }
1719

1820
private:
21+
void showSaveDialog() { mGameOptionsDialog.hide(); mFileIoDialog.showSave(constants::SaveGamePath); }
22+
void showLoadDialog() { mGameOptionsDialog.hide(); mFileIoDialog.showOpen(constants::SaveGamePath); }
1923
FileIo mFileIoDialog;
2024
GameOptionsDialog mGameOptionsDialog;
2125
};

0 commit comments

Comments
 (0)