mirror of
https://github.com/zeldaret/ss
synced 2026-06-02 10:10:13 -04:00
74 lines
1.7 KiB
C++
74 lines
1.7 KiB
C++
#ifndef D_LYT_AREA_CAPTION_H
|
|
#define D_LYT_AREA_CAPTION_H
|
|
|
|
#include "d/lyt/d2d.h"
|
|
#include "s/s_State.hpp"
|
|
|
|
class dLytAreaCaptionParts_c {
|
|
public:
|
|
dLytAreaCaptionParts_c() : mStateMgr(*this, sStateID::null) {}
|
|
~dLytAreaCaptionParts_c() {}
|
|
|
|
bool init(int first);
|
|
|
|
void check();
|
|
bool update();
|
|
bool remove();
|
|
bool draw();
|
|
void setTextIfWaiting(const char *text);
|
|
|
|
STATE_FUNC_DECLARE(dLytAreaCaptionParts_c, Wait);
|
|
STATE_FUNC_DECLARE(dLytAreaCaptionParts_c, Start);
|
|
STATE_FUNC_DECLARE(dLytAreaCaptionParts_c, Out);
|
|
|
|
private:
|
|
bool shouldImmediatelyDismiss() const;
|
|
|
|
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytAreaCaptionParts_c);
|
|
/* 0x040 */ d2d::ResAccIf_c mResAcc;
|
|
/* 0x0EB */ d2d::dLytSub mLyt;
|
|
/* 0x110 */ d2d::AnmGroup_c mAnmGroups[4];
|
|
/* 0x540 */ dTextBox_c *mTextBoxes[3];
|
|
/* 0x54C */ bool field_0x54C;
|
|
/* 0x54D */ bool field_0x54D;
|
|
/* 0x54E */ u8 mFirst;
|
|
/* 0x54F */ bool mAnmCtrlInUse[4];
|
|
};
|
|
|
|
class dLytAreaCaption_c {
|
|
public:
|
|
static dLytAreaCaption_c *sInstance;
|
|
|
|
static bool create();
|
|
static bool remove();
|
|
static bool update();
|
|
static bool draw();
|
|
static void setTextIfWaiting(const char *);
|
|
static void setArea(int id);
|
|
static void check();
|
|
|
|
static void setVisible(bool arg);
|
|
static bool getVisible();
|
|
|
|
private:
|
|
dLytAreaCaption_c() {
|
|
sInstance = this;
|
|
}
|
|
~dLytAreaCaption_c() {
|
|
sInstance = nullptr;
|
|
}
|
|
bool init();
|
|
bool deinit();
|
|
bool doUpdate();
|
|
bool doDraw();
|
|
void doSetTextIfWaiting(const char *);
|
|
void doSetArea(int id);
|
|
void doCheck();
|
|
|
|
/* 0x000 */ dLytAreaCaptionParts_c mParts[2];
|
|
/* 0xAA8 */ s32 mPartToDraw;
|
|
/* 0xAAC */ bool mVisible;
|
|
};
|
|
|
|
#endif
|