Path: blob/master/SonicMania/Objects/GHZ/Batbrain.h
338 views
#ifndef OBJ_BATBRAIN_H1#define OBJ_BATBRAIN_H23#include "Game.h"45// Object Class6struct ObjectBatbrain {7RSDK_OBJECT8Hitbox hitboxBadnik;9uint16 aniFrames;10uint16 sfxFlap;11};1213// Entity Class14struct EntityBatbrain {15RSDK_ENTITY16StateMachine(state);17int32 targetY;18EntityPlayer *target;19Vector2 startPos;20Animator animator;21};2223// Object Struct24extern ObjectBatbrain *Batbrain;2526// Standard Entity Events27void Batbrain_Update(void);28void Batbrain_LateUpdate(void);29void Batbrain_StaticUpdate(void);30void Batbrain_Draw(void);31void Batbrain_Create(void *data);32void Batbrain_StageLoad(void);33#if GAME_INCLUDE_EDITOR34void Batbrain_EditorDraw(void);35void Batbrain_EditorLoad(void);36#endif37void Batbrain_Serialize(void);3839// Extra Entity Functions40void Batbrain_DebugDraw(void);41void Batbrain_DebugSpawn(void);4243// Helpers44void Batbrain_CheckPlayerCollisions(void);45void Batbrain_CheckOffScreen(void);4647// States48void Batbrain_State_Init(void);49void Batbrain_State_CheckPlayerInRange(void);50void Batbrain_State_DropToPlayer(void);51void Batbrain_State_Fly(void);52void Batbrain_State_FlyToCeiling(void);5354#endif //! OBJ_BATBRAIN_H555657