This file contains the data for the Sentry enemy type. More...
Go to the source code of this file.
Classes | |
| struct | SentryConfig |
Enumerations | |
| enum | SentryState { SENTRY_STATE_IDLE , SENTRY_STATE_AIMING , SENTRY_STATE_SHOOTING } |
Functions | |
| void | Sentry_Start (EnemyData *data) |
| [Start] Initializes a Sentry enemy instance | |
| void | Sentry_Update (EnemyData *data) |
| [PostUpdate] Updates the Sentry enemy's state and behavior | |
| void | Sentry_Render (EnemyData *data) |
| [Render] Renders the Sentry enemy | |
| void | Sentry_UpdateParticles () |
| Updates all particle emitters related to the Sentry enemy. | |
| void | Sentry_RenderParticles () |
| void | Sentry_UpdateGun (EnemyData *data) |
| Updates the gun position and orientation for the Sentry enemy. | |
| void | Sentry_UpdateLazer (EnemyData *data) |
| Updates the laser targeting system for the Sentry enemy. | |
| void | Sentry_RenderLaser (EnemyData *data) |
Variables | |
| ParticleEmitter * | SentryBulletEmitter |
| ParticleEmitter * | SentryBulletFragmentsEmitter |
| ParticleEmitter * | SentryMuzzleFlashEmitter |
| ParticleEmitter * | SentryCasingEmitter |
| SentryConfig | SentryConfigData |
| EnemyData | SentryData |
| [Data] Sentry enemy default data | |
This file contains the data for the Sentry enemy type.
| enum SentryState |
| void Sentry_Render | ( | EnemyData * | data | ) |
[Render] Renders the Sentry enemy
This function handles the rendering of the Sentry enemy type.
| data | Pointer to the enemy data structure |
| void Sentry_RenderLaser | ( | EnemyData * | data | ) |
| void Sentry_RenderParticles | ( | ) |
| void Sentry_Start | ( | EnemyData * | data | ) |
[Start] Initializes a Sentry enemy instance
Sets up the Sentry enemy's resources including animations, particle effects, and timers.
| data | Pointer to the enemy data structure to initialize |
| void Sentry_Update | ( | EnemyData * | data | ) |
[PostUpdate] Updates the Sentry enemy's state and behavior
Handles the state machine for the Sentry enemy, including idle, aiming, and shooting states. The Sentry enemy uses a laser-based weapon that sweeps across an area after targeting.
| data | Pointer to the enemy data structure |
| void Sentry_UpdateGun | ( | EnemyData * | data | ) |
Updates the gun position and orientation for the Sentry enemy.
Calculates the gun position, rotation, and orientation based on the enemy's position and the player's location. Also updates associated particle emitters for muzzle flash and bullet casings.
| data | Pointer to the enemy data structure |
| void Sentry_UpdateLazer | ( | EnemyData * | data | ) |
Updates the laser targeting system for the Sentry enemy.
Calculates the laser beam's path from the gun to the first obstacle or player, performing collision detection and damage application when in shooting state. The laser acts as both a visual cue and combat mechanic.
| data | Pointer to the enemy data structure |
| void Sentry_UpdateParticles | ( | ) |
Updates all particle emitters related to the Sentry enemy.
Processes particle physics, collision detection, and damage calculation for bullets fired by the Sentry enemy. Also handles visual effects such as muzzle flash, bullet casings, and bullet impact fragments.
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
[Data] Sentry enemy default data
This structure defines the default properties, stats and settings for the Sentry enemy type.
|
extern |