mirror of
https://github.com/zeldaret/ss
synced 2026-06-08 04:07:22 -04:00
106 lines
2.5 KiB
C++
106 lines
2.5 KiB
C++
#ifndef D_LYT_HELP_H
|
|
#define D_LYT_HELP_H
|
|
|
|
#include "common.h"
|
|
#include "d/lyt/d2d.h"
|
|
#include "d/lyt/d_textbox.h"
|
|
#include "m/m2d.h"
|
|
#include "s/s_State.hpp"
|
|
|
|
class dLytHelpMain_c {
|
|
public:
|
|
dLytHelpMain_c();
|
|
virtual ~dLytHelpMain_c() {}
|
|
|
|
bool build(d2d::ResAccIf_c *resAcc);
|
|
bool remove();
|
|
bool execute();
|
|
bool draw();
|
|
|
|
void modeRequestIn(s32 textIndex);
|
|
void modeRequestWait();
|
|
void modeRequestOut();
|
|
void modeRequestEnd();
|
|
void modeRequestNone();
|
|
|
|
bool isIdle() const {
|
|
return mIsIdle;
|
|
}
|
|
|
|
void setText(s32 textIndex);
|
|
private:
|
|
|
|
STATE_FUNC_DECLARE(dLytHelpMain_c, ModeNone);
|
|
STATE_FUNC_DECLARE(dLytHelpMain_c, ModeIn);
|
|
STATE_FUNC_DECLARE(dLytHelpMain_c, ModeWait);
|
|
STATE_FUNC_DECLARE(dLytHelpMain_c, ModeOut);
|
|
STATE_FUNC_DECLARE(dLytHelpMain_c, ModeEnd);
|
|
|
|
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytHelpMain_c);
|
|
/* 0x040 */ d2d::LytBase_c mLyt;
|
|
/* 0x0D0 */ d2d::AnmGroup_c mAnm[3];
|
|
/* 0x190 */ dTextBox_c *mpTextBoxesTitleS[3];
|
|
/* 0x19C */ dTextBox_c *mpTextBoxesTitle[3];
|
|
/* 0x1A8 */ dTextBox_c *mpTextBoxesS[3];
|
|
/* 0x1B4 */ dTextBox_c *mpTextBoxes[3];
|
|
/* 0x1C0 */ bool mIsIdle;
|
|
/* 0x1C4 */ s32 mTextIndex;
|
|
/* 0x1C8 */ s32 field_0x1C8;
|
|
/* 0x1CC */ s32 field_0x1CC;
|
|
};
|
|
|
|
class dLytHelp_c : public m2d::Base_c {
|
|
public:
|
|
dLytHelp_c() : mStateMgr(*this) {
|
|
sInstance = this;
|
|
}
|
|
virtual ~dLytHelp_c() {
|
|
sInstance = nullptr;
|
|
}
|
|
virtual void draw() override;
|
|
virtual bool build();
|
|
virtual bool remove();
|
|
virtual bool execute();
|
|
|
|
bool setText(s32 textIndex);
|
|
void changeText(s32 textIndex);
|
|
|
|
static dLytHelp_c *GetInstance() {
|
|
return sInstance;
|
|
}
|
|
|
|
bool isStateEnd() const {
|
|
return *mStateMgr.getStateID() == StateID_End;
|
|
}
|
|
|
|
void requestOut() {
|
|
mOutRequest = true;
|
|
}
|
|
|
|
bool isWaiting() const {
|
|
return mIsWaiting;
|
|
}
|
|
|
|
private:
|
|
static dLytHelp_c *sInstance;
|
|
|
|
STATE_FUNC_DECLARE(dLytHelp_c, None);
|
|
STATE_FUNC_DECLARE(dLytHelp_c, In);
|
|
STATE_FUNC_DECLARE(dLytHelp_c, Wait);
|
|
STATE_FUNC_DECLARE(dLytHelp_c, Out);
|
|
STATE_FUNC_DECLARE(dLytHelp_c, End);
|
|
|
|
STATE_MGR_DEFINE_UTIL_ISSTATE(dLytHelp_c);
|
|
|
|
/* 0x010 */ UI_STATE_MGR_DECLARE(dLytHelp_c);
|
|
/* 0x04C */ d2d::ResAccIf_c mResAcc;
|
|
/* 0x3BC */ dLytHelpMain_c *mpMain;
|
|
/* 0x3C0 */ bool field_0x3C0;
|
|
/* 0x3C1 */ bool mOutRequest;
|
|
/* 0x3C2 */ bool mIsWaiting;
|
|
/* 0x3C4 */ s32 mTextIndex;
|
|
/* 0x3C8 */ s32 field_0x3C8;
|
|
};
|
|
|
|
#endif
|