Path: blob/master/SonicMania/Objects/GHZ/BuzzBomber.h
338 views
#ifndef OBJ_BUZZBOMBER_H1#define OBJ_BUZZBOMBER_H23#include "Game.h"45// Object Class6struct ObjectBuzzBomber {7RSDK_OBJECT8Hitbox hitboxBadnik;9Hitbox hitboxProjectile;10uint16 aniFrames;11};1213// Entity Class14struct EntityBuzzBomber {15RSDK_ENTITY16StateMachine(state);17uint8 shotRange;18int32 timer;19uint8 detectedPlayer;20Vector2 startPos;21uint8 startDir;22Entity *projectile;23Animator animator;24Animator wingAnimator;25Animator thrustAnimator;26Hitbox hitboxRange;27};2829// Object Struct30extern ObjectBuzzBomber *BuzzBomber;3132// Standard Entity Events33void BuzzBomber_Update(void);34void BuzzBomber_LateUpdate(void);35void BuzzBomber_StaticUpdate(void);36void BuzzBomber_Draw(void);37void BuzzBomber_Create(void *data);38void BuzzBomber_StageLoad(void);39#if GAME_INCLUDE_EDITOR40void BuzzBomber_EditorDraw(void);41void BuzzBomber_EditorLoad(void);42#endif43void BuzzBomber_Serialize(void);4445// Extra Entity Functions46void BuzzBomber_DebugDraw(void);47void BuzzBomber_DebugSpawn(void);4849void BuzzBomber_CheckOffScreen(void);50void BuzzBomber_CheckPlayerCollisions(void);5152// States53void BuzzBomber_State_Init(void);54void BuzzBomber_State_Flying(void);55void BuzzBomber_State_Idle(void);56void BuzzBomber_State_DetectedPlayer(void);5758// Projectile States59void BuzzBomber_State_ProjectileCharge(void);60void BuzzBomber_State_ProjectileShot(void);6162#endif //! OBJ_BUZZBOMBER_H636465