diff --git a/src/states/level/constants.rs b/src/states/level/constants.rs index 4a34b8b..262c37c 100644 --- a/src/states/level/constants.rs +++ b/src/states/level/constants.rs @@ -3,9 +3,11 @@ use crate::FACTOR; pub const SHIFT: f32 = 1.0; // коэффициент пересчета для слотов pub const SLOT_SIZE: f32 = FACTOR as f32 / SHIFT; -pub const BALL_MOVEMENT_SPEED: f32 = 60.0; // пикселей в секунду +pub const BALL_MOVEMENT_SPEED: f32 = 10.0; // пикселей в секунду, базово 60 pub const INITIAL_BALLS_COUNT: usize = 10; -pub const WARMUP_BALL_MOVEMENT_MULTIPLIER: f32 = 5.0; // во сколько раз больше BALL_MOVEMENT_SPEED +pub const WARMUP_BALL_MOVEMENT_MULTIPLIER: f32 = 30.0; // во сколько раз больше BALL_MOVEMENT_SPEED, базово 5 + +pub const HIT_THRESHOLD: f32 = SLOT_SIZE; // для detect_projectile_hit // Z-индексы элементов pub const CANNON_Z_INDEX: f32 = 10.0; @@ -13,4 +15,6 @@ pub const PROJECTILE_Z_INDEX: f32 = 11.0; pub const CURRENT_SHOT_Z_INDEX: f32 = 12.0; pub const NEXT_SHOT_Z_INDEX: f32 = 12.0; -pub const SCORE_Z_INDEX: f32 = 100.0; \ No newline at end of file +pub const SCORE_Z_INDEX: f32 = 100.0; + +pub const TRACK_Z_INDEX: f32 = 9.0; \ No newline at end of file diff --git a/src/states/level/plugin.rs b/src/states/level/plugin.rs index 92a514e..149c0e6 100644 --- a/src/states/level/plugin.rs +++ b/src/states/level/plugin.rs @@ -33,6 +33,7 @@ impl Plugin for LevelPlugin { check_and_remove_matches, update_score_text, move_queue_along_track, + sync_ball_visuals, ) .chain(), ) diff --git a/src/states/level/system_ball.rs b/src/states/level/system_ball.rs index e507751..28a42f9 100644 --- a/src/states/level/system_ball.rs +++ b/src/states/level/system_ball.rs @@ -49,14 +49,43 @@ pub fn spawn_new_ball( pub fn move_queue_along_track( track: Res, - mut balls: Query<(&mut Ball, &mut Transform)>, + mut balls: Query<(Entity, &mut Ball, &mut Transform)>, time: Res