Fixup animations, add hover menu sound

main
Elijah C. Voigt 2 years ago
parent 3d5d1dd42a
commit 90a33be8be

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -12,6 +12,7 @@ main = "/Music/Main Track2"
### ###
[audio.menu] [audio.menu]
select = "/SFX/MenuSelect" select = "/SFX/MenuSelect"
hover = "/SFX/MenuHover"
### ###
# 2D Mode SFX # 2D Mode SFX
@ -71,19 +72,19 @@ intro_b = "GameCamIntro2"
turn_a = "GameCamSide2>1" turn_a = "GameCamSide2>1"
turn_b = "GameCamSide1>2" turn_b = "GameCamSide1>2"
[display3d.models.animations.pick_up] [display3d.models.animations.pick_up]
pawn = "PiecePickup" pawn = "PawnPiecePickup"
drone = "PiecePickup" drone = "DronePiecePickup"
queen = "PiecePickup" queen = "QueenPiecePickup"
[display3d.models.animations.put_down] [display3d.models.animations.put_down]
pawn = "PiecePutDown" pawn = "PawnPiecePutDown"
drone = "PiecePutDown" drone = "DronePiecePutDown"
queen = "PiecePutDown" queen = "QueenPiecePutDown"
[display3d.models.animations.idle] [display3d.models.animations.idle]
pawn = "PieceIdle" pawn = "PawnPieceIdle"
drone = "PieceIdle" drone = "DronePieceIdle"
queen = "PieceIdle" queen = "QueenPieceIdle"
[display3d.models.materials] [display3d.models.materials]
queen_red = "Queen" queen_red = "Queen"

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

Binary file not shown.

@ -37,6 +37,7 @@ impl Plugin for AudioPlugin {
pub enum AudioEvent { pub enum AudioEvent {
MainMusic, MainMusic,
StopMainMusic, StopMainMusic,
MenuHover,
MenuSelect, MenuSelect,
PickUp, PickUp,
PutDown, PutDown,
@ -71,6 +72,7 @@ fn audio_trigger(
AudioEvent::MainMusic | AudioEvent::StopMainMusic => { AudioEvent::MainMusic | AudioEvent::StopMainMusic => {
tweak.get::<String>("audio_music_main").unwrap() tweak.get::<String>("audio_music_main").unwrap()
} }
AudioEvent::MenuHover => tweak.get::<String>("audio_menu_hover").unwrap(),
AudioEvent::MenuSelect => tweak.get::<String>("audio_menu_select").unwrap(), AudioEvent::MenuSelect => tweak.get::<String>("audio_menu_select").unwrap(),
AudioEvent::PickUp => match state { AudioEvent::PickUp => match state {
DisplayState::Display2d => tweak.get::<String>("audio_display2d_pick_up").unwrap(), DisplayState::Display2d => tweak.get::<String>("audio_display2d_pick_up").unwrap(),

@ -874,20 +874,21 @@ fn pick_up(
info!(" Child: {:?}", child); info!(" Child: {:?}", child);
if let Ok((name, mut player)) = players.get_mut(child) { if let Ok((name, mut player)) = players.get_mut(child) {
info!("Picking up {:?} ({:?}) {:?}", name, entity, piece); info!("Picking up {:?} ({:?}) {:?}", name, entity, piece);
let pickup_animation = format!("display3d_models_animations_pick_up_{:?}", piece).to_ascii_lowercase();
let pickup_handle = gltf.named_animations.get( let pickup_handle = gltf.named_animations.get(
tweak tweak
.get::<String>("display3d_models_animations_pick_up_queen") .get::<String>(pickup_animation.as_str())
.unwrap() .unwrap()
.as_str(), .as_str(),
).expect("Pickup Animation"); ).expect("Pickup Animation");
let idle_animation = format!("display3d_models_animations_idle_{:?}", piece).to_ascii_lowercase();
let idle_handle = gltf.named_animations.get( let idle_handle = gltf.named_animations.get(
tweak tweak
.get::<String>("display3d_models_animations_idle_queen") .get::<String>(idle_animation.as_str())
.unwrap() .unwrap()
.as_str(), .as_str(),
).expect("Idle animation"); ).expect("Idle animation");
if let Some(pickup_clip) = clips.get(pickup_handle) { if let Some(pickup_clip) = clips.get(pickup_handle) {
info!("Animation clip: {:#?}", pickup_clip);
if let Some(idle_clip) = clips.get(idle_handle) { if let Some(idle_clip) = clips.get(idle_handle) {
if pickup_clip.compatible_with(name) && idle_clip.compatible_with(name) { if pickup_clip.compatible_with(name) && idle_clip.compatible_with(name) {
player player
@ -930,9 +931,10 @@ fn put_down(
children.iter_descendants(entity).for_each(|child| { children.iter_descendants(entity).for_each(|child| {
if let Ok((name, mut player)) = players.get_mut(child) { if let Ok((name, mut player)) = players.get_mut(child) {
info!("Putting down {:?}", entity); info!("Putting down {:?}", entity);
let putdown_animation = format!("display3d_models_animations_put_down_{:?}", piece).to_ascii_lowercase();
let putdown_handle = gltf.named_animations.get( let putdown_handle = gltf.named_animations.get(
tweak tweak
.get::<String>("display3d_models_animations_put_down_queen") .get::<String>(putdown_animation.as_str())
.unwrap() .unwrap()
.as_str(), .as_str(),
).expect("PutDown Animation"); ).expect("PutDown Animation");

@ -135,10 +135,11 @@ fn interactive_button(
} }
Interaction::Hovered => { Interaction::Hovered => {
bg_color.0.set_a(0.75); bg_color.0.set_a(0.75);
writer.send(audio::AudioEvent::MenuHover);
} }
Interaction::Pressed => { Interaction::Pressed => {
bg_color.0.set_a(1.0); bg_color.0.set_a(1.0);
writer.send(audio::AudioEvent::MenuSelect) writer.send(audio::AudioEvent::MenuSelect);
} }
}); });
} }

Loading…
Cancel
Save