outfly/src/settings.rs

60 lines
1.6 KiB
Rust
Raw Normal View History

2024-03-16 21:20:23 +00:00
use bevy::prelude::*;
2024-03-17 17:26:44 +00:00
#[derive(Resource)]
2024-03-16 21:20:23 +00:00
pub struct Settings {
pub mute_sfx: bool,
pub mute_music: bool,
pub volume_sfx: u8,
pub volume_music: u8,
2024-03-17 19:31:16 +00:00
pub font_size_hud: f32,
pub font_size_conversations: f32,
pub hud_active: bool,
2024-03-18 03:39:26 +00:00
pub key_togglehud: KeyCode,
pub key_exit: KeyCode,
pub key_restart: KeyCode,
pub key_fullscreen: KeyCode,
pub key_forward: KeyCode,
pub key_back: KeyCode,
pub key_left: KeyCode,
pub key_right: KeyCode,
pub key_up: KeyCode,
pub key_down: KeyCode,
pub key_run: KeyCode,
pub key_stop: KeyCode,
pub key_interact: KeyCode,
2024-03-16 21:20:23 +00:00
}
impl Default for Settings {
fn default() -> Self {
Settings {
2024-03-18 22:53:52 +00:00
mute_sfx: false,
2024-03-19 05:11:04 +00:00
mute_music: false,
2024-03-16 21:20:23 +00:00
volume_sfx: 100,
volume_music: 100,
2024-03-17 19:31:16 +00:00
font_size_hud: 32.0,
font_size_conversations: 32.0,
2024-03-18 01:15:44 +00:00
hud_active: false,
2024-03-18 03:39:26 +00:00
key_togglehud: KeyCode::Tab,
key_exit: KeyCode::Escape,
key_restart: KeyCode::F12,
key_fullscreen: KeyCode::F11,
key_forward: KeyCode::KeyW,
key_back: KeyCode::KeyS,
key_left: KeyCode::KeyA,
key_right: KeyCode::KeyD,
key_up: KeyCode::ShiftLeft,
key_down: KeyCode::ControlLeft,
key_run: KeyCode::KeyR,
key_stop: KeyCode::Space,
key_interact: KeyCode::KeyE,
2024-03-16 21:20:23 +00:00
}
}
}
impl Settings {
pub fn reset(&mut self) {
println!("Resetting settings!");
*self = Self::default();
}
}