reset *some* settings on death
This commit is contained in:
parent
053f2827dd
commit
ef0ada9dac
|
@ -424,12 +424,13 @@ fn handle_player_death(
|
||||||
mut ew_sfx: EventWriter<audio::PlaySfxEvent>,
|
mut ew_sfx: EventWriter<audio::PlaySfxEvent>,
|
||||||
mut ew_effect: EventWriter<effects::SpawnEffectEvent>,
|
mut ew_effect: EventWriter<effects::SpawnEffectEvent>,
|
||||||
mut log: ResMut<hud::Log>,
|
mut log: ResMut<hud::Log>,
|
||||||
settings: Res<settings::Settings>,
|
mut settings: ResMut<settings::Settings>,
|
||||||
) {
|
) {
|
||||||
for death in er_playerdies.read() {
|
for death in er_playerdies.read() {
|
||||||
if settings.god_mode {
|
if settings.god_mode {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
settings.reset_player_settings();
|
||||||
for entity in &q_noscenes {
|
for entity in &q_noscenes {
|
||||||
cmd.entity(entity).despawn();
|
cmd.entity(entity).despawn();
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,11 +155,20 @@ impl Default for Settings {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Settings {
|
impl Settings {
|
||||||
|
#[allow(dead_code)]
|
||||||
pub fn reset(&mut self) {
|
pub fn reset(&mut self) {
|
||||||
println!("Resetting settings!");
|
println!("Resetting settings!");
|
||||||
*self = Self::default();
|
*self = Self::default();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn reset_player_settings(&mut self) {
|
||||||
|
println!("Resetting player settings!");
|
||||||
|
let default = Self::default();
|
||||||
|
self.rotation_stabilizer_active = default.rotation_stabilizer_active;
|
||||||
|
self.third_person = default.third_person;
|
||||||
|
self.is_zooming = default.is_zooming;
|
||||||
|
}
|
||||||
|
|
||||||
pub fn get_reply_keys(&self) -> [KeyCode; 10] {
|
pub fn get_reply_keys(&self) -> [KeyCode; 10] {
|
||||||
return [
|
return [
|
||||||
self.key_reply1,
|
self.key_reply1,
|
||||||
|
|
Loading…
Reference in a new issue