Path: blob/master/SonicMania/Objects/ERZ/PhantomMissile.h
338 views
#ifndef OBJ_PHANTOMMISSILE_H1#define OBJ_PHANTOMMISSILE_H23#include "Game.h"45// Object Class6struct ObjectPhantomMissile {7RSDK_OBJECT8Hitbox hitbox;9uint16 aniFrames;10};1112// Entity Class13struct EntityPhantomMissile {14RSDK_ENTITY15StateMachine(state);16int32 timer;17int32 oscillateAngle;18int32 targetRadius;19int32 reattachRadius;20int32 id;21Vector2 targetPos;22EntityPhantomEgg *parent;23Animator missileAnimator;24Animator targetOutsideAnimator;25Animator targetInsideAnimator;26Animator targetNumbersAnimator;27};2829// Object Struct30extern ObjectPhantomMissile *PhantomMissile;3132// Standard Entity Events33void PhantomMissile_Update(void);34void PhantomMissile_LateUpdate(void);35void PhantomMissile_StaticUpdate(void);36void PhantomMissile_Draw(void);37void PhantomMissile_Create(void *data);38void PhantomMissile_StageLoad(void);39#if GAME_INCLUDE_EDITOR40void PhantomMissile_EditorDraw(void);41void PhantomMissile_EditorLoad(void);42#endif43void PhantomMissile_Serialize(void);4445// Extra Entity Functions46void PhantomMissile_GetTargetPos(void);47void PhantomMissile_HandleExhaust(void);4849void PhantomMissile_State_Attached(void);50void PhantomMissile_State_PrepareLaunch(void);51void PhantomMissile_State_Launched(void);52void PhantomMissile_State_Attacking(void);53void PhantomMissile_State_Explode(void);54void PhantomMissile_State_Reattach(void);55void PhantomMissile_State_Destroyed(void);5657#endif //! OBJ_PHANTOMMISSILE_H585960