simple missile ability and sound (#38)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
mod arrow;
|
||||
mod gun;
|
||||
mod missile;
|
||||
mod thrown;
|
||||
|
||||
use crate::{
|
||||
@@ -31,6 +32,7 @@ pub enum HeadAbility {
|
||||
Arrow,
|
||||
Thrown,
|
||||
Gun,
|
||||
Missile,
|
||||
}
|
||||
|
||||
#[derive(Debug, Reflect, Clone, Copy)]
|
||||
@@ -69,11 +71,14 @@ pub struct TriggerGun(pub TriggerData);
|
||||
pub struct TriggerArrow(pub TriggerData);
|
||||
#[derive(Event, Reflect)]
|
||||
pub struct TriggerThrow(pub TriggerData);
|
||||
#[derive(Event, Reflect)]
|
||||
pub struct TriggerMissile(pub TriggerData);
|
||||
|
||||
pub fn plugin(app: &mut App) {
|
||||
app.add_plugins(gun::plugin);
|
||||
app.add_plugins(thrown::plugin);
|
||||
app.add_plugins(arrow::plugin);
|
||||
app.add_plugins(missile::plugin);
|
||||
|
||||
global_observer!(app, on_trigger_state);
|
||||
}
|
||||
@@ -132,6 +137,7 @@ fn on_trigger_state(
|
||||
match ability {
|
||||
HeadAbility::Thrown => commands.trigger(TriggerThrow(trigger_state)),
|
||||
HeadAbility::Gun => commands.trigger(TriggerGun(trigger_state)),
|
||||
HeadAbility::Missile => commands.trigger(TriggerMissile(trigger_state)),
|
||||
HeadAbility::Arrow => commands.trigger(TriggerArrow(trigger_state)),
|
||||
HeadAbility::None => (),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user