Path: blob/master/SonicMania/Objects/Puyo/PuyoGame.h
338 views
#ifndef OBJ_PUYOGAME_H1#define OBJ_PUYOGAME_H23#include "Game.h"45typedef enum {6PUYOGAME_PLAYER1,7PUYOGAME_PLAYER2,8} PuyoGamePlayerIDs;910// Object Class11struct ObjectPuyoGame {12RSDK_OBJECT13uint16 aniFrames;14EntityPuyoMatch *managers[2];15EntityPuyoIndicator *indicators[2];16EntityCollapsingPlatform *platforms[2];17EntityPuyoScore *score1[2];18EntityPuyoScore *score2[2];19EntityPuyoLevelSelect *levelSel[2];20EntityFXFade *fxFade;21};2223// Entity Class24struct EntityPuyoGame {25RSDK_ENTITY26StateMachine(state);27int32 unused1;28Vector2 startPos;29int32 timer;30int32 selectedLevels[2];31int32 unused2;32int32 unused3;33Animator animator;34bool32 started;35int32 finishedMatch;36bool32 determinedLoser;37uint8 roundWinner;38uint8 matchWinner;39};4041// Object Struct42extern ObjectPuyoGame *PuyoGame;4344// Standard Entity Events45void PuyoGame_Update(void);46void PuyoGame_LateUpdate(void);47void PuyoGame_StaticUpdate(void);48void PuyoGame_Draw(void);49void PuyoGame_Create(void *data);50void PuyoGame_StageLoad(void);51#if GAME_INCLUDE_EDITOR52void PuyoGame_EditorDraw(void);53void PuyoGame_EditorLoad(void);54#endif55void PuyoGame_Serialize(void);5657// Extra Entity Functions58void PuyoGame_SetupStartingEntities(void);59void PuyoGame_SetLoser(uint8 loser);60void PuyoGame_DestroyPuyoBeans(void);61void PuyoGame_SetupGameState(void);62void PuyoGame_CheckMatchFinish(void);63void PuyoGame_State_Init(void);64void PuyoGame_State_Wait(void);65void PuyoGame_State_SelectingLevel(void);66void PuyoGame_State_SetupRound(void);67void PuyoGame_State_SetupEntities(void);68void PuyoGame_State_HandleRound(void);69void PuyoGame_State_ShowRoundResults(void);70void PuyoGame_State_ShowMatchResults(void);71void PuyoGame_State_FadeToMenu(void);7273#endif //! OBJ_PUYOGAME_H747576