Path: blob/master/SonicMania/Objects/TMZ/MetalArm.h
338 views
#ifndef OBJ_METALARM_H1#define OBJ_METALARM_H23#include "Game.h"45// Object Class6struct ObjectMetalArm {7RSDK_OBJECT8uint16 aniFrames;9};1011// Entity Class12struct EntityMetalArm {13RSDK_ENTITY14StateMachine(state);15int32 startAngleA;16int32 startAngleB;17int32 endAngleA;18int32 endAngleB;19int32 durationA;20int32 durationB;21int32 holdDuration;22Vector2 armAngle;23uint8 stoodPlayers;24Vector2 startPos;25int32 moveTimer;26int32 holdTimer;27Vector2 armPosition;28Vector2 moveOffset;29Hitbox hitbox;30Animator baseAnimator;31Animator armAAnimator;32Animator armBAnimator;33Animator platformAnimator;34};3536// Object Struct37extern ObjectMetalArm *MetalArm;3839// Standard Entity Events40void MetalArm_Update(void);41void MetalArm_LateUpdate(void);42void MetalArm_StaticUpdate(void);43void MetalArm_Draw(void);44void MetalArm_Create(void *data);45void MetalArm_StageLoad(void);46#if GAME_INCLUDE_EDITOR47void MetalArm_EditorDraw(void);48void MetalArm_EditorLoad(void);49#endif50void MetalArm_Serialize(void);5152// Extra Entity Functions53bool32 MetalArm_SfxCheck_MetalArm(void);54Vector2 MetalArm_GetArmPosition(void);55void MetalArm_CheckPlayerCollisions(void);56void MetalArm_State_Idle(void);57void MetalArm_State_MoveToHold(void);58void MetalArm_State_Holding(void);59void MetalArm_State_MoveToStart(void);6061#endif //! OBJ_METALARM_H626364