Path: blob/master/SonicMania/Objects/HCZ/BreakBar.h
338 views
#ifndef OBJ_BREAKBAR_H1#define OBJ_BREAKBAR_H23#include "Game.h"45typedef enum {6BREAKBAR_V,7BREAKBAR_H,8} BreakBarOrientations;910// Object Class11struct ObjectBreakBar {12RSDK_OBJECT13uint16 aniFrames;14uint16 sfxBreak;15};1617// Entity Class18struct EntityBreakBar {19RSDK_ENTITY20StateMachine(state);21uint8 orientation;22uint16 length;23uint8 activePlayersGrabbed;24uint8 activePlayersReleased;25uint8 playerTimers[PLAYER_COUNT];26Vector2 startPos;27int32 releaseTimer;28bool32 isBroken;29Hitbox hitbox;30Animator animator;31};3233// Object Struct34extern ObjectBreakBar *BreakBar;3536// Standard Entity Events37void BreakBar_Update(void);38void BreakBar_LateUpdate(void);39void BreakBar_StaticUpdate(void);40void BreakBar_Draw(void);41void BreakBar_Create(void *data);42void BreakBar_StageLoad(void);43#if GAME_INCLUDE_EDITOR44void BreakBar_EditorDraw(void);45void BreakBar_EditorLoad(void);46#endif47void BreakBar_Serialize(void);4849// Extra Entity Functions50void BreakBar_DrawSprites(void);5152void BreakBar_CheckPlayerCollisions(void);53void BreakBar_HandlePlayerInteractions(EntityPlayer *player);5455void BreakBar_State_Init(void);56void BreakBar_State_Main(void);5758#endif //! OBJ_BREAKBAR_H596061