made settings persistant
This commit is contained in:
+10
-1
@@ -1,4 +1,5 @@
|
||||
mod layout;
|
||||
mod persistence;
|
||||
mod seed;
|
||||
mod ui;
|
||||
|
||||
@@ -26,7 +27,7 @@ struct DungeonApp {
|
||||
|
||||
impl Default for DungeonApp {
|
||||
fn default() -> Self {
|
||||
let settings = UiSettings::default();
|
||||
let settings = persistence::load_settings().unwrap_or_default();
|
||||
let layout = generate_layout(
|
||||
settings.cols,
|
||||
settings.rows,
|
||||
@@ -43,6 +44,14 @@ impl Default for DungeonApp {
|
||||
}
|
||||
}
|
||||
|
||||
impl Drop for DungeonApp {
|
||||
fn drop(&mut self) {
|
||||
if let Err(err) = persistence::save_settings(&self.settings) {
|
||||
eprintln!("Failed to save settings: {err}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl eframe::App for DungeonApp {
|
||||
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
|
||||
let panel_result = draw_side_panel(ctx, &mut self.settings);
|
||||
|
||||
Reference in New Issue
Block a user