mirror of
https://github.com/encounter/Petari.git
synced 2026-03-30 11:34:15 -07:00
76 lines
2.7 KiB
C++
76 lines
2.7 KiB
C++
#pragma once
|
|
|
|
#include "Game/LiveActor/Nerve.hpp"
|
|
#include "Game/Screen/LayoutActor.hpp"
|
|
#include "Game/System/NerveExecutor.hpp"
|
|
|
|
|
|
class ButtonPaneController : public NerveExecutor {
|
|
public:
|
|
ButtonPaneController(LayoutActor* pHost, const char* pPaneName, const char* pBoxButtonName, u32 u, bool b);
|
|
virtual ~ButtonPaneController();
|
|
virtual void update();
|
|
virtual void appear();
|
|
virtual void disappear();
|
|
bool trySelect();
|
|
bool isHidden() const;
|
|
bool isPointing() const;
|
|
bool isPointingTrigger() const;
|
|
bool isTimingForSelectedSe() const;
|
|
void invalidateDecide();
|
|
void invalidateAppearance();
|
|
bool isAppearing() const;
|
|
bool isDisappearing() const;
|
|
void forceToWait();
|
|
void forceToHide();
|
|
bool isFirstStepWait() const;
|
|
bool isWait() const;
|
|
bool isDecidedWait() const;
|
|
bool onPointing();
|
|
void decide();
|
|
bool isPointingPaneDirect() const;
|
|
bool startAnimAtFirstStep(const char* pStr);
|
|
bool startPointingAnimAtFirstStep(const char* pStr);
|
|
void setNerveAtAnimStopped(const Nerve* pNerve);
|
|
bool isPointingPane() const;
|
|
bool tryPointing(bool);
|
|
bool tryNotPointing(bool);
|
|
f32 calcPointingAnimStartFrame() const;
|
|
void exeHidden();
|
|
void exeAppear();
|
|
void exeWait();
|
|
void exePointing();
|
|
void exeNotPointing();
|
|
void exeDecided();
|
|
void exeDecidedToDisappear();
|
|
|
|
LayoutActor* mHost; // 8
|
|
const char* mPaneName; // 0xC
|
|
const char* mBoxButtonName; // 0x10
|
|
u32 _14;
|
|
bool _18;
|
|
f32 mPointingAnimStartFrame;
|
|
bool _20;
|
|
bool _21;
|
|
bool _22;
|
|
bool _23;
|
|
bool _24;
|
|
const char* mButtonAppearStr; //0x28
|
|
const char* mButtonWaitStr; // 0x2C
|
|
const char* mButtonDecideStr; // 0x30
|
|
const char* mButtonSelectInStr; // 0x34
|
|
const char* mButtonSelectOutStr; // 0x38
|
|
const char* mButtonEndStr; // 0x3C
|
|
};
|
|
|
|
namespace NrvButtonPaneController {
|
|
NERVE(ButtonPaneControllerNrvDisappear);
|
|
NERVE_DECL(ButtonPaneControllerNrvDecidedToDisappear, ButtonPaneController, ButtonPaneController::exeDecidedToDisappear);
|
|
NERVE_DECL_NULL(ButtonPaneControllerNrvDecidedWait);
|
|
NERVE_DECL(ButtonPaneControllerNrvDecided, ButtonPaneController, ButtonPaneController::exeDecided);
|
|
NERVE_DECL(ButtonPaneControllerNrvNotPointing, ButtonPaneController, ButtonPaneController::exeNotPointing);
|
|
NERVE_DECL(ButtonPaneControllerNrvPointing, ButtonPaneController, ButtonPaneController::exePointing);
|
|
NERVE_DECL(ButtonPaneControllerNrvWait, ButtonPaneController, ButtonPaneController::exeWait);
|
|
NERVE_DECL(ButtonPaneControllerNrvAppear, ButtonPaneController, ButtonPaneController::exeAppear);
|
|
NERVE_DECL(ButtonPaneControllerNrvHidden, ButtonPaneController, ButtonPaneController::exeHidden);
|
|
}; |