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:
GarandPLG committed 2026-05-06 21:39:53 +02:00
1 parent b66c1d8e25
commit cd1822d05e
11 files changed
+78 -38

No files matched your search

@@ -0,0 +1,19 @@
use crate::app::states::skirmish_states::units::Units;
use std::collections::VecDeque;
#[derive(Debug, Clone, PartialEq)]
pub struct MarkedCells<'a> {
pub marking_cells: bool,
pub marked_cells: VecDeque<(usize, usize)>,
pub selected_unit: &'a Option<Units>,
}
impl MarkedCells<'_> {
pub fn new() -> Self {
Self {
marking_cells: false,
marked_cells: VecDeque::new(),
selected_unit: &None,
}
}
}