Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Menu/UIChoice.h
338 views
1
#ifndef OBJ_UICHOICE_H
2
#define OBJ_UICHOICE_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectUIChoice {
8
RSDK_OBJECT
9
uint16 aniFrames;
10
};
11
12
// Entity Class
13
struct EntityUIChoice {
14
MANIA_UI_ITEM_BASE
15
Vector2 size;
16
int32 listID;
17
int32 frameID;
18
bool32 noText;
19
bool32 auxIcon;
20
int32 auxListID;
21
int32 auxFrameID;
22
int32 align;
23
int32 arrowWidth;
24
bool32 isDisabled;
25
int32 bgEdgeSize;
26
int32 textBounceOffset;
27
int32 buttonBounceOffset;
28
int32 textBounceVelocity;
29
int32 buttonBounceVelocity;
30
bool32 textVisible;
31
bool32 clearParentState;
32
int32 touchID;
33
Animator labelAnimator;
34
Animator iconAnimator;
35
Animator leftArrowAnimator;
36
Animator rightArrowAnimator;
37
uint16 aniFrames;
38
};
39
40
// Object Struct
41
extern ObjectUIChoice *UIChoice;
42
43
// Standard Entity Events
44
void UIChoice_Update(void);
45
void UIChoice_LateUpdate(void);
46
void UIChoice_StaticUpdate(void);
47
void UIChoice_Draw(void);
48
void UIChoice_Create(void *data);
49
void UIChoice_StageLoad(void);
50
#if GAME_INCLUDE_EDITOR
51
void UIChoice_EditorDraw(void);
52
void UIChoice_EditorLoad(void);
53
#endif
54
void UIChoice_Serialize(void);
55
56
// Extra Entity Functions
57
void UIChoice_SetChoiceActive(EntityUIChoice *choice);
58
void UIChoice_SetChoiceInactive(EntityUIChoice *choice);
59
void UIChoice_TouchedCB_Left(void);
60
void UIChoice_TouchedCB_Right(void);
61
bool32 UIChoice_CheckTouch(void);
62
void UIChoice_State_HandleButtonLeave(void);
63
void UIChoice_State_HandleButtonEnter(void);
64
65
#endif //! OBJ_UICHOICE_H
66
67