summaryrefslogtreecommitdiff
path: root/src/Game/SystemPauseMgr.h
blob: bbfdd21866134b95dfe5a4aa2918106ac4c135b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#pragma once

#include "KingSystem/System/OverlayArenaSystem.h"
#include "KingSystem/Utils/Types.h"

namespace uking {

class SystemPauseMgr : public ksys::ISystemPauseMgr {
public:
    SystemPauseMgr();
    ~SystemPauseMgr() override;

    void m2() override;
    void waitForOnUiActorMgrAndBlockSaveMaybe() override;
    void stopNfpAndWaitForSaveMgr() override;
    void waitForOnUiActorMgr() override;
    void pauseGameSceneAndWait() override;
    bool releaseScreensAndShowMainLayer() override;
    void onSystemPauseResume() override;
    void waitForStageGenFinalStep() override;
    void restoreMainLayerAndResumeGameScene() override;
    bool hideMainLayer() override;
    void openFadeScreen() override;
    void showMainLayerAndResumeProcJobs() override;
    void clearHideMainLayerAndResumeEvents() override;

    bool wasMainLayerVisible() const { return mMainLayerWasVisible; }

private:
    bool mMainLayerWasVisible = true;
};
KSYS_CHECK_SIZE_NX150(SystemPauseMgr, 0x10);

}  // namespace uking