feat(gameplay): add scripted flight paths for special stage enemies
Add Lissajous and cubic Bezier path types for enemies on special stages (every 3rd level). Path-following enemies spawn with ScriptedPath marker and FollowingPath state, move along parametric curves, and despawn when their path ends off-screen. Key changes: - New flight_paths module with pure path evaluation (Lissajous + Bezier) - ScriptedPath marker component and FollowingPath EnemyState variant - flight_patterns field on StageConfigurations for composable path data - Special stage spawn branch in spawn_enemies() with stagger delays - Path-following movement in move_enemies() with delay gating and despawn - Formation complete early return for special stages - Without<ScriptedPath> filter on attacking_query to prevent double-processing - 13 new unit tests for path evaluation and data contracts Refs: GAL-40
This commit is contained in:
parent
459e8a2353
commit
a0863b290c
9 changed files with 526 additions and 16 deletions
|
|
@ -1,6 +1,8 @@
|
|||
use bevy::prelude::*;
|
||||
|
||||
use crate::components::{Bullet, Enemy, EnemyBullet, GameOverUI, RestartMessage, StartButton, StartMenuUI};
|
||||
use crate::components::{
|
||||
Bullet, Enemy, EnemyBullet, GameOverUI, RestartMessage, StartButton, StartMenuUI,
|
||||
};
|
||||
use crate::resources::RestartPressed;
|
||||
|
||||
#[derive(Clone, Eq, PartialEq, Debug, Hash, Default, States)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue