Path: blob/master/SonicMania/Objects/SPZ/MicDrop.h
338 views
#ifndef OBJ_MICDROP_H1#define OBJ_MICDROP_H23#include "Game.h"45// Object Class6struct ObjectMicDrop {7RSDK_OBJECT8Hitbox hitboxBadnik;9Hitbox hitboxRange;10uint16 aniFrames;11uint16 sfxElectrify;12};1314// Entity Class15struct EntityMicDrop {16RSDK_ENTITY17StateMachine(state);18Animator bodyAnimator;19Animator wireAnimator;20Vector2 startPos;21uint16 distance;22int32 timer;23int32 swingSpeed;24int32 swingVel;25int32 radius;26int32 swingPos;27};2829// Object Struct30extern ObjectMicDrop *MicDrop;3132// Standard Entity Events33void MicDrop_Update(void);34void MicDrop_LateUpdate(void);35void MicDrop_StaticUpdate(void);36void MicDrop_Draw(void);37void MicDrop_Create(void *data);38void MicDrop_StageLoad(void);39#if GAME_INCLUDE_EDITOR40void MicDrop_EditorDraw(void);41void MicDrop_EditorLoad(void);42#endif43void MicDrop_Serialize(void);4445// Extra Entity Functions46void MicDrop_DebugSpawn(void);47void MicDrop_DebugDraw(void);4849void MicDrop_CheckPlayerCollisions(void);50void MicDrop_CheckOffScreen(void);5152void MicDrop_State_Init(void);53void MicDrop_State_CheckForPlayer(void);54void MicDrop_State_DropDown(void);55void MicDrop_State_DropRecoil(void);56void MicDrop_State_Idle(void);57void MicDrop_State_Swinging(void);58void MicDrop_State_Electrify(void);5960#endif //! OBJ_MICDROP_H616263