Simpler + Better Inputs (#82)
* switch to events for instantaneous inputs * input simplification + improvements * fix trail crash * fix clippy warnings * qualify `Trail` in fn signature
This commit is contained in:
@@ -14,18 +14,10 @@ use crate::{
|
||||
};
|
||||
#[cfg(feature = "server")]
|
||||
use crate::{
|
||||
aim::AimTarget,
|
||||
character::CharacterHierarchy,
|
||||
control::{ControlState, Inputs},
|
||||
head::ActiveHead,
|
||||
heads::ActiveHeads,
|
||||
heads_database::HeadsDatabase,
|
||||
player::Player,
|
||||
protocol::ClientToController,
|
||||
aim::AimTarget, character::CharacterHierarchy, control::Inputs, head::ActiveHead,
|
||||
heads::ActiveHeads, heads_database::HeadsDatabase, player::Player,
|
||||
};
|
||||
use bevy::{light::NotShadowCaster, prelude::*};
|
||||
#[cfg(feature = "server")]
|
||||
use bevy_replicon::prelude::FromClient;
|
||||
use bevy_replicon::prelude::{ClientState, SendMode, ServerTriggerExt, ToClients};
|
||||
use bevy_sprite3d::Sprite3d;
|
||||
pub use healing::Healing;
|
||||
@@ -194,20 +186,10 @@ fn explode_projectiles(mut commands: Commands, query: Query<(Entity, &ExplodingP
|
||||
#[cfg(feature = "server")]
|
||||
fn on_trigger_state(
|
||||
mut res: ResMut<TriggerStateRes>,
|
||||
players: Query<&ActiveHead, With<Player>>,
|
||||
clients: ClientToController,
|
||||
mut controls: MessageReader<FromClient<ControlState>>,
|
||||
headdb: Res<HeadsDatabase>,
|
||||
time: Res<Time>,
|
||||
players: Query<(&ActiveHead, &Inputs), With<Player>>,
|
||||
) {
|
||||
for controls in controls.read() {
|
||||
let player = clients.get_controller(controls.client_id);
|
||||
let player_head = players.get(player).unwrap();
|
||||
res.active = controls.trigger;
|
||||
if controls.just_triggered {
|
||||
let head_stats = headdb.head_stats(player_head.0);
|
||||
res.next_trigger_timestamp = time.elapsed_secs() + head_stats.shoot_offset;
|
||||
}
|
||||
for (_, inputs) in players.iter() {
|
||||
res.active = inputs.trigger;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user