Path: blob/master/SonicMania/Objects/HCZ/HandLauncher.h
338 views
#ifndef OBJ_HANDLAUNCHER_H1#define OBJ_HANDLAUNCHER_H23#include "Game.h"45// Object Class6struct ObjectHandLauncher {7RSDK_OBJECT8uint16 aniFrames;9Hitbox hitboxRange;10Hitbox hitboxGrab;11Hitbox hitboxUnused;12bool32 dunkeyMode;13uint16 sfxDunkey;14};1516// Entity Class17struct EntityHandLauncher {18RSDK_ENTITY19StateMachine(state);20int32 speed;21uint8 activePlayers;22Vector2 startPos;23Vector2 playerPos;24Vector2 hiddenPos;25int32 timer;26int32 grabDelay;27Animator baseAnimator;28Animator handAnimator;29};3031// Object Struct32extern ObjectHandLauncher *HandLauncher;3334// Standard Entity Events35void HandLauncher_Update(void);36void HandLauncher_LateUpdate(void);37void HandLauncher_StaticUpdate(void);38void HandLauncher_Draw(void);39void HandLauncher_Create(void *data);40void HandLauncher_StageLoad(void);41#if GAME_INCLUDE_EDITOR42void HandLauncher_EditorDraw(void);43void HandLauncher_EditorLoad(void);44#endif45void HandLauncher_Serialize(void);4647// Extra Entity Functions48void HandLauncher_CheckPlayerCollisions(void);49bool32 HandLauncher_CheckPlayerInRange(void);50void HandLauncher_ReleasePlayers(void);51void HandLauncher_HandleGrabbedPlayers(void);5253void HandLauncher_State_Init(void);54void HandLauncher_State_AwaitPlayer(void);55void HandLauncher_State_TryGrabPlayer(void);56void HandLauncher_State_GrabbedPlayer(void);5758#endif //! OBJ_HANDLAUNCHER_H596061