Path: blob/master/SonicMania/Objects/HCZ/ButtonDoor.h
338 views
#ifndef OBJ_BUTTONDOOR_H1#define OBJ_BUTTONDOOR_H23#include "Game.h"45typedef enum {6BUTTONDOOR_UP,7BUTTONDOOR_LEFT,8BUTTONDOOR_DOWN,9BUTTONDOOR_RIGHT,10} ButtonDoorOrientations;1112// Object Class13struct ObjectButtonDoor {14RSDK_OBJECT15uint16 aniFrames;16uint16 sfxOpen;17};1819// Entity Class20struct EntityButtonDoor {21RSDK_ENTITY22StateMachine(state);23Vector2 startPos;24Vector2 size;25Vector2 segmentSize;26int32 movePos;27int32 buttonTag;28int32 length;29EntityButton *taggedButton;30int32 duration;31uint8 orientation;32Hitbox hitbox;33Animator animator;34};3536// Object Struct37extern ObjectButtonDoor *ButtonDoor;3839// Standard Entity Events40void ButtonDoor_Update(void);41void ButtonDoor_LateUpdate(void);42void ButtonDoor_StaticUpdate(void);43void ButtonDoor_Draw(void);44void ButtonDoor_Create(void *data);45void ButtonDoor_StageLoad(void);46#if GAME_INCLUDE_EDITOR47void ButtonDoor_EditorDraw(void);48void ButtonDoor_EditorLoad(void);49#endif50void ButtonDoor_Serialize(void);5152// Extra Entity Functions53void ButtonDoor_SetupSize(void);54void ButtonDoor_SetupTagLink(void);55void ButtonDoor_DrawSprites(void);5657#endif //! OBJ_BUTTONDOOR_H585960