Path: blob/master/SonicMania/Objects/Common/Projectile.h
338 views
#ifndef OBJ_PROJECTILE_H1#define OBJ_PROJECTILE_H23#include "Game.h"45typedef enum {6PROJECTILE_NOTHING,7PROJECTILE_FIRE,8PROJECTILE_ELECTRIC,9PROJECTILE_UNUSED1,10PROJECTILE_BASIC,11PROJECTILE_UNUSED2,12PROJECTILE_UNUSED3,13PROJECTILE_BASIC214} ProjectileTypes;1516// Object Class17struct ObjectProjectile {18RSDK_OBJECT19};2021// Entity Class22struct EntityProjectile {23RSDK_ENTITY24StateMachine(state);25int32 type;26bool32 isProjectile;27int32 timer;28int32 hurtDelay;29int32 gravityStrength;30int32 rotationSpeed;31Hitbox hitbox;32Animator animator;33};3435// Object Struct36extern ObjectProjectile *Projectile;3738// Standard Entity Events39void Projectile_Update(void);40void Projectile_LateUpdate(void);41void Projectile_StaticUpdate(void);42void Projectile_Draw(void);43void Projectile_Create(void *data);44void Projectile_StageLoad(void);45#if GAME_INCLUDE_EDITOR46void Projectile_EditorDraw(void);47void Projectile_EditorLoad(void);48#endif49void Projectile_Serialize(void);5051// Extra Entity Functions52void Projectile_CheckPlayerCollisions(void);53void Projectile_State_Move(void);54void Projectile_State_MoveGravity(void);5556#endif //! OBJ_PROJECTILE_H575859