Add lifetime parameter and MarkedCells struct

Refactor App, GameStates, SkirmishState and BoardState to carry a
generic
lifetime `'a`. Introduce a new `MarkedCells` type that holds marking
state
and selected unit, replacing the previous `marking_cells` flag and raw
deque. Update related methods, keybindings, view implementations and
module exports to use the new structures.
This commit is contained in:
2026-05-06 21:39:53 +02:00
parent b66c1d8e25
commit cd1822d05e
11 changed files with 78 additions and 38 deletions
+3 -3
View File
@@ -8,15 +8,15 @@ use crate::{
use ratatui::layout::Rect;
#[derive(Debug, Clone, PartialEq)]
pub struct GameStates {
pub struct GameStates<'a> {
pub main_menu: MainMenuState,
pub skirmish: SkirmishState,
pub skirmish: SkirmishState<'a>,
pub perk_decks: PerkDecksState,
pub skills_config: SkillsConfigState,
pub settings: SettingsState,
}
impl GameStates {
impl GameStates<'_> {
pub fn new(args: &Cli, area: &Rect) -> Self {
Self {
main_menu: MainMenuState {