Files
ss/include/d/lyt/d_lyt_common_arrow.h
T
2025-04-11 17:00:05 +02:00

60 lines
1.3 KiB
C++

#ifndef D_LYT_COMMON_ARROW_H
#define D_LYT_COMMON_ARROW_H
#include "d/lyt/d2d.h"
// clang-format off
// vtable order
#include "d/d_cursor_hit_check.h"
// clang-format on
#include "nw4r/lyt/lyt_bounding.h"
#include "s/s_State.hpp"
class dLytCommonArrow_c {
public:
dLytCommonArrow_c();
virtual ~dLytCommonArrow_c() {}
bool build();
STATE_FUNC_DECLARE(dLytCommonArrow_c, None);
STATE_FUNC_DECLARE(dLytCommonArrow_c, In);
STATE_FUNC_DECLARE(dLytCommonArrow_c, Wait);
STATE_FUNC_DECLARE(dLytCommonArrow_c, Out);
void setState(s32 state);
bool draw();
bool remove();
bool execute();
bool requestIn();
bool requestOut();
private:
void setTranslate(const Vec *);
bool fn_80168760();
void displayElement(s32, f32);
void unbindAt(s32);
void tickDown(d2d::AnmGroup_c *);
void fn_80168880();
UI_STATE_MGR_DECLARE(dLytCommonArrow_c);
/* 0x40 */ d2d::LytBase_c mLytBase;
d2d::ResAccIf_c mResAcc;
d2d::AnmGroup_c mAnmGroups[0x9];
dCursorHitCheckLyt_c mCsHitCheck;
nw4r::lyt::Bounding *mBoundingL;
nw4r::lyt::Bounding *mBoundingR;
s32 mType;
s32 field_0x6B4;
s32 field_0x6B8;
s32 field_0x6BC;
s32 field_0x6C0;
s32 mTimer;
u8 mInRequested;
u8 mOutRequested;
u8 field_0x6CA;
u8 field_0x6CB;
u8 field_0x6CC;
};
#endif