Files
Petari/source/Game/Screen/PauseMenu.cpp
T

76 lines
2.6 KiB
C++

#include "Game/Screen/PauseMenu.hpp"
#include "Game/Util/LayoutUtil.hpp"
#include "Game/Util/SceneUtil.hpp"
#include "Game/Util/ObjUtil.hpp"
#include "Game/Util/EventUtil.hpp"
#include "Game/Util/MessageUtil.hpp"
namespace {
bool isInvalidBackAstroDome() {
return (!MR::isOnGameEventFlagUseAstroDome() || MR::isStageAstroLocation() && !MR::isEqualStageName("HeavensDoorGalaxy"));
}
};
PauseMenu::PauseMenu() : LayoutActor("ポーズメニュー", 1) {
_20 = 0;
_24 = 0;
_28.x = 0.0f;
_28.y = 50.0f;
_30 = 0;
_34 = 0;
_38 = 0;
_3C.x = 0.0f;
_3C.y = 39.0f;
_44.x = 0.0f;
_44.y = 0.0f;
_4C.x = 0.0f;
_4C.y = 0.0f;
_54 = true;
}
void PauseMenu::init(const JMapInfoIter& rIter) {
initLayoutManager("PauseMenu", 1);
MR::createAndAddPaneCtrl(this, "BG", 1);
MR::createAndAddPaneCtrl(this, "PicStagebase", 1);
MR::createAndAddPaneCtrl(this, "PicStagebase1", 1);
MR::createAndAddPaneCtrl(this, "Counter", 1);
MR::createAndAddPaneCtrl(this, "Stars", 1);
MR::createAndAddPaneCtrl(this, "Coin", 1);
MR::createAndAddPaneCtrl(this, "Piece", 1);
MR::setFollowPos(_44, this, "Coin");
MR::setFollowTypeReplace(this, "Coin");
MR::setFollowPos(_4C, this, "Piece");
MR::setFollowTypeReplace(this, "Piece");
if (MR::isStageBeginPrologueEvent() || MR::isStageAstroLocation()) {
MR::createAndAddPaneCtrl(this, "ShaStageTitle", 1);
MR::setFollowPos(_3C, this, "ShaStageTitle");
MR::setFollowTypeReplace(this, "ShaStageTitle");
}
MR::connectToSceneLayoutOnPause(this);
_20 = new ButtonPaneController(this, "NBackUp", "BoxButton1", 0, true);
_20->_22 = false;
_24 = new ButtonPaneController(this, "NBackDown", "BoxButton2", 0, true);
_24->_22 = false;
MR::setTextBoxGameMessageRecursive(this, "NBackDown", ::isInvalidBackAstroDome() ? "PauseMenu_ButtonEndGame" : "PauseMenu_ButtonBackAstroDome");
if (MR::isEqualStageName("AstroDome"))
MR::setTextBoxMessageRecursive(this, "ShaStageTitle", MR::getCurrentScenarioNameOnCurrentLanguage());
else
MR::setTextBoxMessageRecursive(this, "ShaStageTitle", MR::getCurrentGalaxyNameOnCurrentLanguage());
if (MR::isStageBeginPrologueEvent() || MR::isStageAstroLocation())
MR::hidePaneRecursive(this, "ScenarioTitle");
else
MR::setTextBoxMessageRecursive(this, "ScenarioTitle", MR::getCurrentScenarioNameOnCurrentLanguage());
updateStarPane();
}
void PauseMenu::appear() {}
void PauseMenu::draw() const {}
void PauseMenu::kill() {}
void PauseMenu::control() {}