(
state_shared: &mut EnemyStateShared,
dt: f32,
state_data: &mut EnemyStateSpawning,
)
| 186 | } |
| 187 | |
| 188 | fn update_state_spawning( |
| 189 | state_shared: &mut EnemyStateShared, |
| 190 | dt: f32, |
| 191 | state_data: &mut EnemyStateSpawning, |
| 192 | ) -> Option<EnemyCommand> { |
| 193 | state_data.spawn_timer += dt; |
| 194 | // different enemy types spawn differently |
| 195 | let end_time = match state_shared.enemy_type { |
| 196 | EnemyType::Normal => ENEMY_ANIM_TIME_SPAWN, |
| 197 | EnemyType::Mini => ENEMY_MINI_ANIM_TIME_SPAWN, |
| 198 | }; |
| 199 | |
| 200 | let fraction = state_data.spawn_timer / end_time; |
| 201 | if fraction >= 1.0f32 { |
| 202 | return Some(EnemyCommand::ChangeState(EnemyState::Normal( |
| 203 | EnemyStateNormal { shoot_timer: 0f32 }, |
| 204 | ))); |
| 205 | } |
| 206 | None |
| 207 | } |
| 208 | |
| 209 | fn update_state_normal( |
| 210 | state_shared: &mut EnemyStateShared, |
nothing calls this directly
no outgoing calls
no test coverage detected