~starkingdoms/starkingdoms

2a3588e2273c14d4e5a71da0abcbc449376072a3 — ghostly_zsh 17 days ago ec49653
fix: zoom to projection x2
2 files changed, 10 insertions(+), 9 deletions(-)

M crates/unified/src/client/starguide/init.rs
M crates/unified/src/client/zoom.rs
M crates/unified/src/client/starguide/init.rs => crates/unified/src/client/starguide/init.rs +0 -1
@@ 34,7 34,6 @@ pub fn init_starguide(
        order: 1,
        ..default()
    }))
    //.insert(Bloom::default())
    .insert(DebandDither::Enabled)
    .insert(Fxaa::default())
    .insert(STARGUIDE_LAYER)

M crates/unified/src/client/zoom.rs => crates/unified/src/client/zoom.rs +10 -8
@@ 4,7 4,7 @@ use bevy::{
};

use crate::{
    client::starfield::{BACK_STARFIELD_SIZE, FRONT_STARFIELD_SIZE, MID_STARFIELD_SIZE, StarfieldSize}, ecs::{MainCamera, Me, OrbitCamera, StarfieldBack, StarfieldFront, StarfieldMid, StarguideOrbit}
    client::{starfield::{BACK_STARFIELD_SIZE, FRONT_STARFIELD_SIZE, MID_STARFIELD_SIZE, StarfieldSize}, starguide}, ecs::{MainCamera, Me, OrbitCamera, StarfieldBack, StarfieldFront, StarfieldMid, StarguideOrbit}
};
use crate::ecs::{StarguideCamera, GameplayState};



@@ 42,7 42,7 @@ fn on_scroll(
        ),
    >,
    mut starguide_camera: Single<
        (&mut Camera, &mut Transform),
        (&mut Camera, &mut Projection, &mut Transform),
        (
            With<StarguideCamera>,
            Without<MainCamera>,


@@ 65,7 65,7 @@ fn on_scroll(
        ),
    >,
    mut camera: Single<
        (&mut Camera, &mut Transform, &mut Projection),
        (&mut Camera, &mut Projection),
        (
            With<MainCamera>,
            Without<OrbitCamera>,


@@ 92,16 92,17 @@ fn on_scroll(
    let (mut starfield_mid, mut starfield_mid_pos, mut visibility_mid, size_mid) = starfield_mid.into_inner();
    let (mut starfield_front, mut starfield_front_pos, mut visibility_front, size_front) =
        starfield_front.into_inner();
    let Projection::Orthographic(ref mut camera_projection) = camera.2.clone() else { return };
    let Projection::Orthographic(ref mut camera_projection) = camera.1.clone() else { return };
    let Projection::Orthographic(ref mut starguide_projection) = starguide_camera.1.clone() else { return };
    for event in scroll_events.read() {
        match event.unit {
            MouseScrollUnit::Line | MouseScrollUnit::Pixel => {
                if event.y > 0.0 {
                    camera_projection.scale *= 0.97;
                    starguide_camera.1.scale *= 0.97;
                    starguide_projection.scale *= 0.97;
                } else {
                    camera_projection.scale *= 1.03;
                    starguide_camera.1.scale *= 1.03;
                    starguide_projection.scale *= 1.03;
                }

                if camera_projection.scale > 20.0 && matches!(gameplay_state.get(), GameplayState::Main) {


@@ 109,7 110,7 @@ fn on_scroll(
                    starguide_camera.0.is_active = true;
                    orbit_camera.is_active = true;

                    starguide_camera.1.translation = player.translation;
                    starguide_camera.2.translation = player.translation;
                    gameplay_next_state.set(GameplayState::Starguide);

                    starfield_back.image_mode = SpriteImageMode::Auto;


@@ 184,5 185,6 @@ fn on_scroll(
            }
        }
    }
    *camera.2 = Projection::Orthographic(camera_projection.clone());
    *camera.1 = Projection::Orthographic(camera_projection.clone());
    *starguide_camera.1 = Projection::Orthographic(starguide_projection.clone());
}