mirror of
https://github.com/zeldaret/ss
synced 2026-06-16 06:35:40 -04:00
137 lines
3.6 KiB
C++
137 lines
3.6 KiB
C++
#ifndef D_LYT_METER_KEY_H
|
|
#define D_LYT_METER_KEY_H
|
|
|
|
#include "common.h"
|
|
#include "d/lyt/d2d.h"
|
|
#include "m/m_vec.h"
|
|
#include "nw4r/lyt/lyt_pane.h"
|
|
#include "s/s_State.hpp"
|
|
|
|
class dLytMeterKakeraKey_c {
|
|
public:
|
|
dLytMeterKakeraKey_c() : mStateMgr(*this, sStateID::null) {}
|
|
~dLytMeterKakeraKey_c() {}
|
|
|
|
bool build(d2d::ResAccIf_c *);
|
|
bool remove();
|
|
bool execute();
|
|
bool draw();
|
|
|
|
void setPosition(s32 position);
|
|
|
|
void setShouldBeVisible(bool v) {
|
|
mShouldBeVisible = v;
|
|
}
|
|
|
|
private:
|
|
STATE_FUNC_DECLARE(dLytMeterKakeraKey_c, Wait);
|
|
STATE_FUNC_DECLARE(dLytMeterKakeraKey_c, On);
|
|
STATE_FUNC_DECLARE(dLytMeterKakeraKey_c, Increase);
|
|
STATE_FUNC_DECLARE(dLytMeterKakeraKey_c, Active);
|
|
STATE_FUNC_DECLARE(dLytMeterKakeraKey_c, Off);
|
|
|
|
STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterKakeraKey_c);
|
|
|
|
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytMeterKakeraKey_c);
|
|
/* 0x03C */ d2d::dLytSub mLyt;
|
|
/* 0x0D0 */ d2d::AnmGroup_c mAnm[8];
|
|
/* 0x2D0 */ nw4r::lyt::Pane *mpPane;
|
|
/* 0x2D4 */ mVec3_c mPanePositions[2];
|
|
/* 0x2EC */ mVec3_c mPosition;
|
|
/* 0x2F8 */ u32 mSavedKeyPieceCount;
|
|
/* 0x2FC */ s32 mNextKeyPieceCount;
|
|
/* 0x300 */ s32 mPosititionIndex;
|
|
/* 0x304 */ s32 mOldPosititionIndex;
|
|
/* 0x308 */ s32 mMovementFrame;
|
|
/* 0x30C */ u8 mShouldBeVisible;
|
|
};
|
|
|
|
class dLytMeterBossKey_c {
|
|
public:
|
|
dLytMeterBossKey_c() : mStateMgr(*this, sStateID::null) {}
|
|
~dLytMeterBossKey_c() {}
|
|
|
|
virtual d2d::LytBase_c *getLyt() {
|
|
return &mLyt;
|
|
}
|
|
virtual const char *getName() const {
|
|
return mLyt.getName();
|
|
}
|
|
|
|
bool build(d2d::ResAccIf_c *);
|
|
bool remove();
|
|
bool execute();
|
|
bool draw();
|
|
|
|
void setPosition(s32 position);
|
|
|
|
void setShouldBeVisible(bool v) {
|
|
mShouldBeVisible = v;
|
|
}
|
|
|
|
private:
|
|
STATE_FUNC_DECLARE(dLytMeterBossKey_c, Wait);
|
|
STATE_FUNC_DECLARE(dLytMeterBossKey_c, On);
|
|
STATE_FUNC_DECLARE(dLytMeterBossKey_c, Active);
|
|
STATE_FUNC_DECLARE(dLytMeterBossKey_c, Off);
|
|
|
|
STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterBossKey_c);
|
|
|
|
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytMeterBossKey_c);
|
|
/* 0x040 */ d2d::dLytSub mLyt;
|
|
/* 0x0D4 */ d2d::AnmGroup_c mAnm[5];
|
|
/* 0x214 */ nw4r::lyt::Pane *mpPane;
|
|
/* 0x218 */ mVec3_c mPanePositions[4];
|
|
/* 0x248 */ mVec3_c mPosition;
|
|
/* 0x254 */ s32 mPosititionIndex;
|
|
/* 0x258 */ s32 mOldPosititionIndex;
|
|
/* 0x25C */ s32 mMovementFrame;
|
|
/* 0x260 */ u8 mShouldBeVisible;
|
|
};
|
|
|
|
class dLytMeterSmallKey_c {
|
|
public:
|
|
dLytMeterSmallKey_c() : mStateMgr(*this, sStateID::null) {}
|
|
~dLytMeterSmallKey_c() {}
|
|
|
|
virtual d2d::LytBase_c *getLyt() {
|
|
return &mLyt;
|
|
}
|
|
virtual const char *getName() const {
|
|
return mLyt.getName();
|
|
}
|
|
|
|
bool build(d2d::ResAccIf_c *);
|
|
bool remove();
|
|
bool execute();
|
|
bool draw();
|
|
|
|
void setPosition(s32 position);
|
|
|
|
void setShouldBeVisible(bool v) {
|
|
mShouldBeVisible = v;
|
|
}
|
|
|
|
private:
|
|
STATE_FUNC_DECLARE(dLytMeterSmallKey_c, Wait);
|
|
STATE_FUNC_DECLARE(dLytMeterSmallKey_c, On);
|
|
STATE_FUNC_DECLARE(dLytMeterSmallKey_c, Active);
|
|
STATE_FUNC_DECLARE(dLytMeterSmallKey_c, Off);
|
|
|
|
STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterSmallKey_c);
|
|
|
|
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytMeterSmallKey_c);
|
|
/* 0x040 */ d2d::dLytSub mLyt;
|
|
/* 0x0D4 */ d2d::AnmGroup_c mAnm[5];
|
|
/* 0x214 */ nw4r::lyt::Pane *mpPane;
|
|
/* 0x218 */ mVec3_c mPanePositions[4];
|
|
/* 0x248 */ mVec3_c mPosition;
|
|
/* 0x254 */ s32 mSavedSmallKeyCount;
|
|
/* 0x258 */ s32 mPosititionIndex;
|
|
/* 0x25C */ s32 mOldPosititionIndex;
|
|
/* 0x260 */ s32 mMovementFrame;
|
|
/* 0x264 */ u8 mShouldBeVisible;
|
|
};
|
|
|
|
#endif
|