Clean up *some* of the camera jank

main
Elijah C. Voigt 1 year ago
parent fe87c4f10a
commit 4b9e45d841

@ -5,7 +5,7 @@ edition = "2021"
build = "build.rs"
[dependencies]
bevy_fmod = { version = "0.4", features = ["live-update"] }
bevy_fmod = { version = "0.4" }
bevy = { version = "0.13", features = ["jpeg", "hdr", "serialize"] }
serde = "1"
toml = { version = "0.8", features = ["parse"] }
@ -17,7 +17,7 @@ gltf = "*"
[features]
trace = ["bevy/trace_tracy", "bevy/trace_tracy_memory"]
debug = ["bevy/dynamic_linking", "bevy/file_watcher"]
debug = ["bevy/dynamic_linking", "bevy/file_watcher", "bevy_fmod/live-update"]
[profile.dev]
debug = 1

@ -236,17 +236,13 @@ intro_a = "GameCamIntro1"
# The intro we use
intro_b = "GameCamIntro2"
# Blue -> Red
turn_b = "GameCamSide2.1>1"
turn_b = "GameCamSide2.1>1.1"
# Red -> Blue
turn_a = "GameCamSide1.1>2"
turn_a = "GameCamSide1.1>2.1"
# Red -> Better view
turn_up_b = "GameCamSide1>1.1"
# Blue -> Better view
turn_up_a = "GameCamSide2>2.1"
# Red -> Base view
turn_down_b = "GameCamSide1.1>1"
# Blue -> Base view
turn_down_a = "GameCamSide2.1>2"
[display3d.models.animations.pick_up]
PawnBlue = "PawnBluePiecePickup"

BIN
assets/models/Martian Chess.glb (Stored with Git LFS)

Binary file not shown.

@ -128,7 +128,7 @@ fn audio_trigger(
}
// we are playing a sound
_ => {
info!("Playing audio {}", event_str);
debug!("Playing audio {}", event_str);
let audio_source = AudioSource::new(event_description);
audio_source.set_volume(vol.0);
// TODO: Can we batch spawn all sounds at startup? Then Start/Stop/Reset at runtime?

@ -90,17 +90,10 @@ impl Plugin for Display3dPlugin {
.run_if(any_component_added::<Selected>()
.or_else(any_component_removed::<Selected>())
),
// vantage point camera when playing against AI
// Camera moving up when first piece is selected in the game
vantage_point
.run_if(in_state(GameState::Play))
.run_if(in_state(PlayState::AiBogo).and_then(in_state(TurnState(Side::B))))
.run_if(any_component_added::<Selected>().or_else(state_changed::<TurnState>)),
// vantage point camera when playing against human
vantage_point
.run_if(in_state(GameState::Play))
.run_if(in_state(PlayState::Human))
.run_if(not(state_changed::<TurnState>))
.run_if(any_component_added::<Selected>().or_else(any_component_removed::<Selected>())),
.run_if(any_component_added::<Selected>()),
update_pieces
.run_if(resource_exists::<tweak::GameTweaks>)
.run_if(in_state(GameState::Play))
@ -1034,9 +1027,7 @@ fn switch_sides(
}
fn vantage_point(
selected: Query<Entity, With<Selected>>,
mut players: Query<&mut AnimationPlayer, (With<Camera>, With<Display3d>)>,
events: EventReader<StateTransitionEvent<TurnState>>,
gltfs: Res<Assets<Gltf>>,
state: Res<State<game::TurnState>>,
tweaks: Res<Assets<Tweaks>>,
@ -1054,14 +1045,7 @@ fn vantage_point(
info!("Getting a better view");
// play down events on state transitions
let animation_key = if events.len() > 0 && *up {
*up = false;
match state.get() {
game::TurnState(game::Side::A) => "display3d_models_animations_turn_down_a",
game::TurnState(game::Side::B) => "display3d_models_animations_turn_down_b",
}
// Play up events when selected > 0
} else if selected.iter().count() == 1 && !*up {
let animation_key = if !*up {
*up = true;
match state.get() {
game::TurnState(game::Side::A) => "display3d_models_animations_turn_up_a",

@ -612,7 +612,7 @@ impl Board {
Some(MoveType::Capture)
}
None => {
info!("Last move: {:?}", self.moves.last());
debug!("Last move: {:?}", self.moves.last());
// move is valid if it does not un-do the previous move for this piece
match self.moves.last() {
Some(previous) => {

@ -116,7 +116,7 @@ where
),
>,
curr_state: Res<State<Marker>>| {
info!("Activating state {:?}", *curr_state);
debug!("Activating state {:?}", *curr_state);
entities.iter_mut().for_each(|(mark, mut visibility)| {
*visibility = if mark == curr_state.get() {
Visibility::Inherited

@ -381,7 +381,7 @@ fn handle_button_press<S: States + Clone + Component>(
(*interaction == Interaction::Pressed).then_some(button_action)
})
.for_each(|ButtonAction(ba)| {
info!("Button press: {:?} => {:?}", next_state, ba);
debug!("Button press: {:?} => {:?}", next_state, ba);
next_state.set(ba.clone())
});
}

Loading…
Cancel
Save