Path: blob/master/SonicMania/Objects/LRZ/LRZConvControl.h
338 views
#ifndef OBJ_LRZCONVCONTROL_H1#define OBJ_LRZCONVCONTROL_H23#include "Game.h"45typedef enum { LRZCONVCTRL_TRIGGER_PLAYER, LRZCONVCTRL_TRIGGER_BUTTON } LRZConvControlTriggerModes;6typedef enum {7LRZCONVCTRL_BEHAVIOR_ONOFF_SET,8LRZCONVCTRL_BEHAVIOR_ONOFF_SWAP,9LRZCONVCTRL_BEHAVIOR_CHANGEDIR_SET,10LRZCONVCTRL_BEHAVIOR_CHANGEDIR_SWAP11} LRZConvControlBehaviours;12// Object Class13struct ObjectLRZConvControl {14RSDK_OBJECT15uint16 aniFrames;16};1718// Entity Class19struct EntityLRZConvControl {20RSDK_ENTITY21StateMachine(state);22uint8 triggerMode;23int32 buttonTag;24Vector2 hitboxSize;25uint8 behavior;26uint8 flipVal;27EntityButton *taggedButton;28uint8 activePlayers;29uint8 wasToggled;30Hitbox hitbox;31Animator animator;32};3334// Object Struct35extern ObjectLRZConvControl *LRZConvControl;3637// Standard Entity Events38void LRZConvControl_Update(void);39void LRZConvControl_LateUpdate(void);40void LRZConvControl_StaticUpdate(void);41void LRZConvControl_Draw(void);42void LRZConvControl_Create(void *data);43void LRZConvControl_StageLoad(void);44#if GAME_INCLUDE_EDITOR45void LRZConvControl_EditorDraw(void);46void LRZConvControl_EditorLoad(void);47#endif48void LRZConvControl_Serialize(void);4950// Extra Entity Functions51void LRZConvControl_HandlePlayerTrigger(void);52void LRZConvControl_HandleButtonTrigger(void);5354#endif //! OBJ_LRZCONVCONTROL_H555657