Path: blob/master/SonicMania/Objects/CPZ/Grabber.h
338 views
#ifndef OBJ_GRABBER_H1#define OBJ_GRABBER_H23#include "Game.h"45// Object Class6struct ObjectGrabber {7RSDK_OBJECT8Hitbox hitboxBadnik;9Hitbox hitboxGrab;10Hitbox hitboxRange;11uint16 aniFrames;12uint16 sfxGrab;13uint16 sfxDestroy;14};1516// Entity Class17struct EntityGrabber {18RSDK_ENTITY19StateMachine(state);20Animator bodyAnimator;21Animator clampAnimator;22Animator wheelAnimator;23EntityPlayer *grabbedPlayer;24uint16 struggleDelay;25uint16 struggleTimer;26uint16 struggleFlags;27uint16 grabDelay;28Vector2 startPos;29uint8 startDir;30int32 turnTimer;31int32 timer;32};3334// Object Struct35extern ObjectGrabber *Grabber;3637// Standard Entity Events38void Grabber_Update(void);39void Grabber_LateUpdate(void);40void Grabber_StaticUpdate(void);41void Grabber_Draw(void);42void Grabber_Create(void *data);43void Grabber_StageLoad(void);44#if GAME_INCLUDE_EDITOR45void Grabber_EditorDraw(void);46void Grabber_EditorLoad(void);47#endif48void Grabber_Serialize(void);4950// Extra Entity Functions51void Grabber_DebugDraw(void);52void Grabber_DebugSpawn(void);5354void Grabber_CheckPlayerCollisions(void);55void Grabber_CheckOffScreen(void);56void Grabber_HandleExplode(void);5758void Grabber_State_Init(void);59void Grabber_State_CheckForGrab(void);60void Grabber_State_GrabDelay(void);61void Grabber_State_HandleTurn(void);62void Grabber_State_TryToGrab(void);63void Grabber_State_RiseUp(void);64void Grabber_State_GrabbedPlayer(void);65void Grabber_State_Struggle(void);66void Grabber_State_PlayerEscaped(void);6768#endif //! OBJ_GRABBER_H697071