Path: blob/master/SonicMania/Objects/SBZ/Orbinaut.h
338 views
#ifndef OBJ_ORBINAUT_H1#define OBJ_ORBINAUT_H23#include "Game.h"45#define ORBINAUT_ORB_COUNT (4)67// Object Class8struct ObjectOrbinaut {9RSDK_OBJECT10Hitbox hitboxBadnik;11Hitbox hitboxOrb;12uint16 aniFrames;13};1415// Entity Class16struct EntityOrbinaut {17RSDK_ENTITY18StateMachine(state);19int32 planeFilter;20Vector2 startPos;21uint8 startDir;22uint8 activeOrbs;23Vector2 orbPositions[ORBINAUT_ORB_COUNT];24bool32 fireOrbs;25Animator animatorFace;26Animator animatorOrb;27};2829// Object Entity30extern ObjectOrbinaut *Orbinaut;3132// Standard Entity Events33void Orbinaut_Update(void);34void Orbinaut_LateUpdate(void);35void Orbinaut_StaticUpdate(void);36void Orbinaut_Draw(void);37void Orbinaut_Create(void *data);38void Orbinaut_StageLoad(void);39#if GAME_INCLUDE_EDITOR40void Orbinaut_EditorDraw(void);41void Orbinaut_EditorLoad(void);42#endif43void Orbinaut_Serialize(void);4445// Extra Entity Functions46void Orbinaut_DebugSpawn(void);47void Orbinaut_DebugDraw(void);4849void Orbinaut_HandlePlayerInteractions(void);50void Orbinaut_HandleRotation(void);51void Orbinaut_CheckOffScreen(void);5253void Orbinaut_State_Init(void);54void Orbinaut_State_Moving(void);55void Orbinaut_State_ReleasingOrbs(void);56void Orbinaut_State_Orbless(void);5758void Orbinaut_State_Orb(void);59void Orbinaut_State_OrbDebris(void);6061#endif //! OBJ_ORBINAUT_H626364