Path: blob/master/SonicMania/Objects/TMZ/FlasherMKII.h
338 views
#ifndef OBJ_FLASHERMKII_H1#define OBJ_FLASHERMKII_H23#include "Game.h"45typedef enum {6FLASHERMKII_ORIENTATION_UP,7FLASHERMKII_ORIENTATION_DOWN,8FLASHERMKII_ORIENTATION_RIGHT,9FLASHERMKII_ORIENTATION_LEFT,10} FlasherMKIIOrientations;1112// Object Class13struct ObjectFlasherMKII {14RSDK_OBJECT15uint16 aniFrames;16uint16 sfxFlop;17uint16 sfxZap;18};1920// Entity Class21struct EntityFlasherMKII {22RSDK_ENTITY23StateMachine(state);24uint8 orientation;25int32 type;26int32 timer;27Vector2 startPos;28Animator animator;29};3031// Object Struct32extern ObjectFlasherMKII *FlasherMKII;3334// Standard Entity Events35void FlasherMKII_Update(void);36void FlasherMKII_LateUpdate(void);37void FlasherMKII_StaticUpdate(void);38void FlasherMKII_Draw(void);39void FlasherMKII_Create(void *data);40void FlasherMKII_StageLoad(void);41#if GAME_INCLUDE_EDITOR42void FlasherMKII_EditorDraw(void);43void FlasherMKII_EditorLoad(void);44#endif45void FlasherMKII_Serialize(void);4647// Extra Entity Functions48void FlasherMKII_DebugSpawn(void);49void FlasherMKII_DebugDraw(void);5051void FlasherMKII_CheckOffScreen(void);5253void FlasherMKII_HandlePlayerCollisions(void);54void FlasherMKII_HandleHarmPlayerCollisions(void);5556void FlasherMKII_State_Idle(void);57void FlasherMKII_State_Moving(void);58void FlasherMKII_State_WeakFlash(void);59void FlasherMKII_State_StrongFlash(void);60void FlasherMKII_State_FinishedFlashing(void);6162#endif //! OBJ_FLASHERMKII_H636465