This file contains the definition of the EnemyData struct and its functions.
void Sentry_UpdateParticles()
Updates all particle emitters related to the Sentry enemy.
Definition sentry_update.c:185
void Sentry_RenderParticles()
Definition sentry_render.c:98
void Sentry_Update(EnemyData *data)
[PostUpdate] Updates the Sentry enemy's state and behavior
Definition sentry_update.c:100
ParticleEmitter * SentryMuzzleFlashEmitter
Definition sentry_start.c:19
SentryState
Definition enemy_sentry.h:15
@ SENTRY_STATE_IDLE
Definition enemy_sentry.h:16
@ SENTRY_STATE_AIMING
Definition enemy_sentry.h:17
@ SENTRY_STATE_SHOOTING
Definition enemy_sentry.h:18
void Sentry_Render(EnemyData *data)
[Render] Renders the Sentry enemy
Definition sentry_render.c:24
ParticleEmitter * SentryCasingEmitter
Definition sentry_start.c:20
void Sentry_RenderLaser(EnemyData *data)
Definition sentry_render.c:56
EnemyData SentryData
[Data] Sentry enemy default data
Definition sentry_data.c:77
SentryConfig SentryConfigData
Definition sentry_data.c:14
ParticleEmitter * SentryBulletEmitter
Definition sentry_start.c:18
ParticleEmitter * SentryBulletFragmentsEmitter
Definition sentry_start.c:21
void Sentry_UpdateGun(EnemyData *data)
Updates the gun position and orientation for the Sentry enemy.
Definition sentry_update.c:27
void Sentry_UpdateLazer(EnemyData *data)
Updates the laser targeting system for the Sentry enemy.
Definition sentry_update.c:49
void Sentry_Start(EnemyData *data)
[Start] Initializes a Sentry enemy instance
Definition sentry_start.c:31
Implements weapon systems including animations, shooting mechanics, and particle effects.
Enemy data structure.
Definition enemy.h:103
Gun data structure.
Definition gun.h:116
A struct that represents the configurations of a particle emitter.
Definition particles.h:105
Definition enemy_sentry.h:20
Vec2 lazerEnd
Definition enemy_sentry.h:43
float directionChangeTime
Definition enemy_sentry.h:22
Vec2 lazerDirection
Definition enemy_sentry.h:42
GunData gun
Definition enemy_sentry.h:25
float shootAngleSpeed
Definition enemy_sentry.h:37
Vec2 gunOffset
Definition enemy_sentry.h:26
float timer
Definition enemy_sentry.h:32
Vec2 lazerStart
Definition enemy_sentry.h:41
float idleTime
Definition enemy_sentry.h:35
float aimTime
Definition enemy_sentry.h:36
float shootTime
Definition enemy_sentry.h:23
SentryState state
Definition enemy_sentry.h:30
float lazerWidth
Definition enemy_sentry.h:40
float shootTimer
Definition enemy_sentry.h:24
float directionChangeTimer
Definition enemy_sentry.h:21
float shootAngle
Definition enemy_sentry.h:38
Vec2 lastPosition
Definition enemy_sentry.h:27
A 2D vector structure.
Definition vec2.h:81