core_rust/core/game/
state.rs1use crate::core::game::utils::actions;
2use actions::Action;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Hash, Eq, PartialEq, Serialize, Deserialize)]
7pub struct State {
8 pub unit_position: (usize, usize),
9 pub valid_moves: Vec<Action>,
10 pub index: Option<isize>,
11}
12
13impl State {
14 pub fn new(unit_position: (usize, usize), valid_moves: Vec<Action>) -> Self {
16 Self {
17 unit_position,
18 valid_moves,
19 index: None,
20 }
21 }
22
23 pub fn valid_moves(&self) -> &Vec<Action> {
25 &self.valid_moves
26 }
27}