Files
war-in-tunnels/src/app/state.rs
T
GarandPLG 73f544d5d6
Nix package / build (push) Successful in 8m44s
Linux package builds (test) / linux (push) Successful in 2m25s
Linux package builds (test) / aur (push) Successful in 7m41s
Rust checks / check (push) Successful in 3m39s
Update formatting to use 4‑space indentation
- Adjust rustfmt.toml to set tab_spaces = 4.
- Reformat imports, struct definitions, function bodies, and match arms
  across the project to match the new style (aligned fields, added
  spacing, etc.).
- Ensure all code complies with the updated rustfmt settings.
2026-10-19 17:43:43 +02:00

67 lines
2.1 KiB
Rust

use crate::{
app::states::{
MainMenuState, PerkDecksState, SettingsState, SkillsConfigState, SkirmishState,
skirmish_states::{BoardState, Resources},
},
cli::Cli,
};
use ratatui::layout::Rect;
#[derive(Debug, Clone, PartialEq)]
pub struct GameStates {
pub main_menu: MainMenuState,
pub skirmish: SkirmishState,
pub perk_decks: PerkDecksState,
pub skills_config: SkillsConfigState,
pub settings: SettingsState,
}
impl GameStates {
pub fn new(args: &Cli, area: &Rect) -> Self {
Self {
main_menu: MainMenuState {
id: 0,
name: "Main Menu",
selected_view: 1,
},
skirmish: SkirmishState {
id: 1,
name: "Skirmish",
board: BoardState::new(
area,
args.map_width as usize,
args.map_height as usize,
args.zoom_level,
false,
),
side_panel: false,
turn_counter: 0,
player_resources: Resources::new(args.starting_wood, args.starting_metal),
enemy_resources: Resources::new(args.starting_wood, args.starting_metal),
building_view: false,
recruitment_view: false,
},
perk_decks: PerkDecksState {
id: 2,
name: "Perk Decks",
selected_perk_deck: 0,
},
skills_config: SkillsConfigState {
id: 3,
name: "Skills Config",
selected_skill: 0,
},
settings: SettingsState {
username: args.username.clone(),
game_mode: args.game_mode.clone(),
perk_deck: args.perk_deck.clone(),
starting_wood: args.starting_wood.clone(),
starting_metal: args.starting_metal,
supply_limit: args.supply_limit.clone(),
xp_modifier: args.xp_modifier.clone(),
skill_points_limit: args.skill_points_limit.clone(),
},
}
}
}