Path: blob/master/SonicMania/Objects/CPZ/CPZBoss.h
338 views
#ifndef OBJ_CPZBOSS_H1#define OBJ_CPZBOSS_H23#include "Game.h"45typedef enum {6CPZBOSS_PLAYER,7CPZBOSS_EGGMAN,8} CPZBossTypes;910// Object Class11struct ObjectCPZBoss {12RSDK_OBJECT13Hitbox hitboxPlayerTrigger;14EntityPuyoMatch *managers[2];15uint16 hudSlotID;16uint16 aniFrames;17uint16 playerFrames;18uint16 sfxExplosion;19};2021// Entity Class22struct EntityCPZBoss {23RSDK_ENTITY24StateMachine(state);25uint8 type;26int32 timer;27Vector2 startPos;28Vector2 explosionPos;29Animator panelAnimator;30Animator enterAnimator;31Animator characterAnimator;32};3334// Object Struct35extern ObjectCPZBoss *CPZBoss;3637// Standard Entity Events38void CPZBoss_Update(void);39void CPZBoss_LateUpdate(void);40void CPZBoss_StaticUpdate(void);41void CPZBoss_Draw(void);42void CPZBoss_Create(void *data);43void CPZBoss_StageLoad(void);44#if GAME_INCLUDE_EDITOR45void CPZBoss_EditorDraw(void);46void CPZBoss_EditorLoad(void);47#endif48void CPZBoss_Serialize(void);4950// Extra Entity Functions51void CPZBoss_DrawHook_SetupPuyoHUD(void);52void CPZBoss_DrawHook_RemovePuyoHUD(void);5354void CPZBoss_Explode_Eggman(void);55void CPZBoss_Explode_Player(void);5657bool32 CPZBoss_CheckMatchReset(void);5859void CPZBoss_State_SetupArena(void);60void CPZBoss_State_EnterPlayer(void);61void CPZBoss_State_CheckPlayerReady(void);62void CPZBoss_State_PlayPlayerEnterAnim(void);63void CPZBoss_State_SetupMatch(void);64void CPZBoss_State_HandleMatch_Player(void);65void CPZBoss_State_HandleMatch_Eggman(void);66void CPZBoss_State_HandleMatchFinish_EggmanLose(void);67void CPZBoss_State_PlayerWin(void);68void CPZBoss_State_HandleMatchFinish_PlayerLose(void);69void CPZBoss_State_EggmanFall(void);70void CPZBoss_State_PlayerExit(void);71void CPZBoss_State_Destroyed(void);7273#endif //! OBJ_CPZBOSS_H747576