1#include "Scene/StageSceneStateGetLifeMaxUpItem.h"
2
3#include "Library/Bgm/BgmLineFunction.h"
4#include "Library/Nerve/NerveSetupUtil.h"
5#include "Library/Nerve/NerveUtil.h"
6#include "Library/Scene/SceneUtil.h"
7
8#include "Layout/StageSceneLayout.h"
9#include "Scene/StageScene.h"
10#include "System/GameDataFunction.h"
11#include "Util/DemoUtil.h"
12
13namespace {
14NERVE_IMPL(StageSceneStateGetLifeMaxUpItem, DemoGetLifeMaxUpItem);
15NERVES_MAKE_NOSTRUCT(StageSceneStateGetLifeMaxUpItem, DemoGetLifeMaxUpItem);
16} // namespace
17
18StageSceneStateGetLifeMaxUpItem::StageSceneStateGetLifeMaxUpItem(const char* name, al::Scene* scene,
19 StageSceneLayout* stageSceneLayout)
20 : HostStateBase(name, scene), mLayout(stageSceneLayout) {
21 initNerve(nerve: &DemoGetLifeMaxUpItem, stateCount: 0);
22}
23
24void StageSceneStateGetLifeMaxUpItem::appear() {
25 al::NerveStateBase::appear();
26 al::setNerve(user: this, nerve: &DemoGetLifeMaxUpItem);
27}
28
29void StageSceneStateGetLifeMaxUpItem::kill() {
30 al::NerveStateBase::kill();
31}
32
33void StageSceneStateGetLifeMaxUpItem::exeDemoGetLifeMaxUpItem() {
34 if (al::isFirstStep(user: this)) {
35 GameDataFunction::getLifeMaxUpItem(actor: rs::getPlayerActor(getHost()));
36 mLayout->tryStartDemoGetLifeMaxUpItem(false);
37 al::startBgm(getHost(), "GetLifeMaxUp", -1, 0);
38 }
39 al::updateKitListPrev(scene: getHost());
40 al::updateKitList(scene: getHost(), name: "シャドウマスク");
41 al::updateKitList(scene: getHost(), name: "グラフィックス要求者");
42 al::updateKitList(scene: getHost(), name: "プロジェクト用グラフィックス");
43 al::updateKitList(scene: getHost(), name: "通知レイアウト更新");
44 al::updateKitList(scene: getHost(), name: "2D");
45 al::updateKitList(scene: getHost(), name: "2D(ポーズ無視)");
46 al::updateKitListPost(scene: getHost());
47 rs::updateDemoSystemOnly(getHost());
48
49 if (mLayout->isEndDemoGetLifeMaxUpItem()) {
50 rs::requestEndDemoGetLifeMaxUpItem(getHost());
51 kill();
52 }
53}
54