|
|
|
|
@ -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",
|
|
|
|
|
|