use bevy::prelude::*;
use bevy_easy_config::EasyConfigPlugin;
use serde::Deserialize;
fn main() {
App::new()
.add_plugins((
DefaultPlugins,
EasyConfigPlugin::<Settings>::new("settings.ron")
))
.add_systems(Startup, print_config_key)
.add_systems(Update, print_on_keypress)
.run();
}
#[derive(Deserialize, Asset, Resource, Clone, TypePath)]
struct Settings {
action_keybind: KeyCode
}
fn print_config_key(
settings: Res<Settings>
) {
println!("Settings loaded; current key: {:#?}", settings.action_keybind);
}
fn print_on_keypress(
settings: Res<Settings>,
keyboard: Res<ButtonInput<KeyCode>>,
) {
if keyboard.just_pressed(settings.action_keybind) {
println!("You pressed: {:#?}", settings.action_keybind)
}
}