Path: blob/master/SonicMania/Objects/FBZ/FBZTrash.h
338 views
#ifndef OBJ_FBZTRASH_H1#define OBJ_FBZTRASH_H23#include "Game.h"45typedef enum {6FBZTRASH_TRASH,7FBZTRASH_UNUSED,8FBZTRASH_ORB,9FBZTRASH_ORBINAUT,10} FBZTrashTypes;1112// Object Class13struct ObjectFBZTrash {14RSDK_OBJECT15uint16 aniFrames;16};1718// Entity Class19struct EntityFBZTrash {20RSDK_ENTITY21StateMachine(state);22FBZTrashTypes type;23int32 frameID;24int32 rumbleMove;25int32 timer;26int32 radius;27Vector2 targetPos;28Vector2 startPos;29EntityFBZTrash *parent;30Hitbox hitbox;31Animator animator;32};3334// Object Struct35extern ObjectFBZTrash *FBZTrash;3637// Standard Entity Events38void FBZTrash_Update(void);39void FBZTrash_LateUpdate(void);40void FBZTrash_StaticUpdate(void);41void FBZTrash_Draw(void);42void FBZTrash_Create(void *data);43void FBZTrash_StageLoad(void);44#if GAME_INCLUDE_EDITOR45void FBZTrash_EditorDraw(void);46void FBZTrash_EditorLoad(void);47#endif48void FBZTrash_Serialize(void);4950// Extra Entity Functions51void FBZTrash_SummonOrbinautOrbs(EntityFBZTrash *trashPtr, int32 angle);52void FBZTrash_SummonOrbinaut(int32 x, int32 y);53void FBZTrash_State_LooseTrash(void);54void FBZTrash_State_ReactMagnet(void);55void FBZTrash_State_MoveToTarget(void);56void FBZTrash_State_OrbinautOrb(void);57void FBZTrash_State_OrbinautMove(void);5859#endif //! OBJ_FBZTRASH_H606162