better scaling

main
Elijah Voigt 1 year ago
parent a9552b3d86
commit f1a98b700d

@ -77,9 +77,9 @@ pub(crate) fn setup_animations(
// For each spot on board
RangeInclusive::<u8>::new(0, 3).for_each(|x| {
RangeInclusive::<u8>::new(0, 3).for_each(|y| {
let a = Vec3::new(-200.0, 0.0, 0.0);
let a = Vec3::new(-125.0, 0.0, 2.0);
let b = play::card_placement(&play::PlayLocation { x, y });
let c = Vec3::new(200.0, 0.0, 0.0);
let c = Vec3::new(125.0, 0.0, 0.0);
// Serve Deck -> Spot Animation
{

@ -72,7 +72,7 @@ fn setup(mut commands: Commands, server: Res<AssetServer>) {
margin: UiRect::all(Val::Px(5.0)),
padding: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
height: Val::Px(40.0),
height: Val::Px(30.0),
position_type: PositionType::Absolute,
top: Val::Px(0.0),
left: Val::Px(0.0),
@ -110,14 +110,14 @@ fn setup(mut commands: Commands, server: Res<AssetServer>) {
..default()
},
Node {
height: Val::Percent(40.0),
height: Val::Percent(30.0),
..default()
},
));
parent
.spawn(Node {
height: Val::Percent(40.0),
height: Val::Percent(30.0),
flex_direction: FlexDirection::Column,
align_items: AlignItems::Center,
justify_content: JustifyContent::FlexEnd,
@ -198,7 +198,7 @@ fn setup_play(mut commands: Commands, server: Res<AssetServer>) {
margin: UiRect::all(Val::Px(5.0)),
padding: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
height: Val::Px(40.0),
height: Val::Px(30.0),
..default()
},
BorderColor(WHITE.into()),
@ -221,7 +221,7 @@ fn setup_play(mut commands: Commands, server: Res<AssetServer>) {
margin: UiRect::all(Val::Px(5.0)),
padding: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
height: Val::Px(40.0),
height: Val::Px(30.0),
..default()
},
BorderColor(WHITE.into()),
@ -248,7 +248,7 @@ fn setup_play(mut commands: Commands, server: Res<AssetServer>) {
margin: UiRect::all(Val::Px(5.0)),
padding: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
height: Val::Px(40.0),
height: Val::Px(30.0),
..default()
},
BorderColor(WHITE.into()),
@ -271,7 +271,7 @@ fn setup_play(mut commands: Commands, server: Res<AssetServer>) {
BackgroundColor(BLACK.with_alpha(0.9).into()),
Node {
margin: UiRect::all(Val::Px(5.0)),
padding: UiRect::all(Val::Px(10.0)),
padding: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
..default()
},
@ -301,8 +301,8 @@ fn setup_play(mut commands: Commands, server: Res<AssetServer>) {
parent
.spawn((
Node {
padding: UiRect::all(Val::Px(10.0)),
margin: UiRect::all(Val::Px(10.0)),
padding: UiRect::all(Val::Px(5.0)),
margin: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
..default()
},
@ -310,8 +310,15 @@ fn setup_play(mut commands: Commands, server: Res<AssetServer>) {
BorderColor(WHITE.into()),
))
.with_children(|parent| {
parent.spawn(Text("Sets:".into()));
parent.spawn((Text("##".into()), SetCounter));
parent.spawn((
Text("Sets:".into()),
TextFont::default().with_font_size(12.0),
));
parent.spawn((
Text("##".into()),
SetCounter,
TextFont::default().with_font_size(12.0),
));
});
});
}
@ -344,7 +351,7 @@ fn setup_about(mut commands: Commands, server: Res<AssetServer>) {
margin: UiRect::all(Val::Px(5.0)),
padding: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
height: Val::Px(40.0),
height: Val::Px(30.0),
..default()
},
BorderColor(WHITE.into()),
@ -368,7 +375,7 @@ fn setup_about(mut commands: Commands, server: Res<AssetServer>) {
margin: UiRect::all(Val::Px(5.0)),
padding: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
height: Val::Px(40.0),
height: Val::Px(30.0),
..default()
},
BorderColor(WHITE.into()),
@ -458,7 +465,7 @@ fn setup_how_to_play(mut commands: Commands, deck: Res<Deck>, server: Res<AssetS
margin: UiRect::all(Val::Px(5.0)),
padding: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
height: Val::Px(40.0),
height: Val::Px(30.0),
..default()
},
BorderColor(WHITE.into()),
@ -482,7 +489,7 @@ fn setup_how_to_play(mut commands: Commands, deck: Res<Deck>, server: Res<AssetS
margin: UiRect::all(Val::Px(5.0)),
padding: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
height: Val::Px(40.0),
height: Val::Px(30.0),
..default()
},
BorderColor(WHITE.into()),
@ -700,8 +707,8 @@ fn setup_alert(mut commands: Commands) {
parent
.spawn((
Node {
padding: UiRect::all(Val::Px(10.0)),
margin: UiRect::all(Val::Px(10.0)),
padding: UiRect::all(Val::Px(5.0)),
margin: UiRect::all(Val::Px(5.0)),
border: UiRect::all(Val::Px(1.0)),
..default()
},
@ -709,7 +716,11 @@ fn setup_alert(mut commands: Commands) {
BorderColor(WHITE.into()),
))
.with_children(|parent| {
parent.spawn((Text::default(), Alert));
parent.spawn((
Text::default(),
Alert,
TextFont::default().with_font_size(12.0),
));
});
});
}

@ -254,7 +254,7 @@ pub(crate) fn shuffle_card(
let (mut t, mut v, mut ap) = query.get_mut(trigger.entity()).unwrap();
*v = Visibility::Hidden;
ap.rewind_all().stop_all();
t.translation = Vec3::new(-200.0, 0.0, 0.0);
t.translation = Vec3::new(-125.0, 0.0, 0.0);
t.rotation = Quat::IDENTITY;
}
commands
@ -300,7 +300,7 @@ pub(crate) fn card_placement(PlayLocation { x, y }: &PlayLocation) -> Vec3 {
Vec3::new(
((*x as f32) * card_size[0]) - offset.x,
((*y as f32) * card_size[1]) - offset.y,
0.0,
1.0,
) / 2.25
}

@ -48,7 +48,7 @@ pub(crate) fn setup_cards(
// Top of card pile is a "face down" card
{
let top_card_transform = Transform {
translation: Vec3::new(-200.0, 0.0, 99.0),
translation: Vec3::new(-125.0, 0.0, 99.0),
..default()
};
let top_card_sprite = Sprite {
@ -93,7 +93,7 @@ pub(crate) fn setup_cards(
let animation_target_id = AnimationTargetId::from_name(&name);
let this_transform =
Transform::default().with_translation(Vec3::new(-200.0, 0.0, 0.0));
Transform::default().with_translation(Vec3::new(-125.0, 0.0, 0.0));
let visibility = Visibility::Hidden;
// Spawn card with a simple Transform parent so we can adjust the Z-axis for

@ -49,20 +49,37 @@ fn state_monitor(
});
}
fn update_window_info(mut events: EventReader<WindowResized>, mut _windows: Query<&mut Window>) {
events
.read()
.for_each(|WindowResized { height, width, .. }| {
info!("Window resized {} {}", height, width);
fn update_window_info(mut events: EventReader<WindowResized>, mut window: Single<&mut Window>) {
if !events.is_empty() {
events.clear();
let r = &mut window.resolution;
let new_scale_factor = {
let height_ratio = 800.0 / height;
let width_ratio = 500.0 / width;
height_ratio.min(width_ratio)
};
// let window = windows.single_mut();
// window.resolution.set_scale_factor(new_scale_factor);
// (640.0, 360.0)
info!("Proposed scale factor: {:?}", new_scale_factor);
});
let a: f32 = match r.physical_width() as usize {
0..=640 => 1.0,
641..=1280 => 2.0,
1281..=1920 => 3.0,
1921.. => 4.0,
};
let b: f32 = match r.physical_height() as usize {
0..=360 => 1.0,
361..=720 => 2.0,
721..=1080 => 3.0,
1081.. => 4.0,
};
let n = a.min(b);
r.set_scale_factor(n);
info!(
"Proposed scale factor: ({} -> {} / {} -> {}) {:?}",
r.width(),
a,
r.height(),
b,
n
);
}
}

Loading…
Cancel
Save