Path: blob/master/SonicMania/Objects/SPZ/LottoBall.h
338 views
#ifndef OBJ_LOTTOBALL_H1#define OBJ_LOTTOBALL_H23#include "Game.h"45typedef enum {6LOTTOBALL_BLUE,7LOTTOBALL_YELLOW,8LOTTOBALL_MULTI,9LOTTOBALL_EGGMAN,10LOTTOBALL_BIG,11LOTTOBALL_TOTAL,12} LottoBallTypes;1314// Object Class15struct ObjectLottoBall {16RSDK_OBJECT17uint16 aniFrames;18uint16 sfxLottoBounce;19uint16 sfxSpew;20};2122// Entity Class23struct EntityLottoBall {24RSDK_ENTITY25StateMachine(state);26uint8 type;27uint8 lottoNum;28int32 ringCount;29int32 timer;30Vector2 startPos;31Vector2 bounds;32int32 gravityStrength;33int32 angleVel;34EntityLottoMachine *parent;35int32 isVisible[PLAYER_COUNT];36bool32 isUIBall;37Animator ballAnimator;38Animator leftNumAnimator;39Animator rightNumAnimator;40};4142// Object Struct43extern ObjectLottoBall *LottoBall;4445// Standard Entity Events46void LottoBall_Update(void);47void LottoBall_LateUpdate(void);48void LottoBall_StaticUpdate(void);49void LottoBall_Draw(void);50void LottoBall_Create(void *data);51void LottoBall_StageLoad(void);52#if GAME_INCLUDE_EDITOR53void LottoBall_EditorDraw(void);54void LottoBall_EditorLoad(void);55#endif56void LottoBall_Serialize(void);5758// Extra Entity Functions59void LottoBall_CheckOffScreen(void);6061void LottoBall_State_FallIntoMachine(void);62void LottoBall_State_InMachine(void);63void LottoBall_State_Collected(void);64void LottoBall_State_CollectFall(void);6566void LottoBall_State_SetupUIBall(void);67void LottoBall_State_EnterUIBall(void);68void LottoBall_State_ShowUIBall(void);6970#endif //! OBJ_LOTTOBALL_H717273