generated from GarandPLG/rust-flake-template
Refactor Units enum location and chain CellWidget setters
Move Units enum from the units module into the skirmish state module, add a dedicated Players enum, and remove the now‑unused unit module. Update all imports accordingly. Adjust CellWidget's set_zoom_level and set_structure to return &mut Self, enabling method chaining.
This commit is contained in:
@@ -9,5 +9,5 @@ pub use main_menu::MainMenuState;
|
||||
pub use perk_decks::{PerkDecks, PerkDecksState};
|
||||
pub use settings::SettingsState;
|
||||
pub use skills_config::SkillsConfigState;
|
||||
pub use skirmish::{CellStructure, GameMode, Players, SkirmishState, ZoomLevel};
|
||||
pub use skirmish::{CellStructure, GameMode, Players, SkirmishState, Units, ZoomLevel};
|
||||
pub use skirmish_states::{FocusedCell, Offset};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::app::{buildings::BaseBuilding, states::skirmish_states::BoardState};
|
||||
use crate::app::{buildings::BaseBuilding, states::skirmish_states::BoardState, units::MinerUnit};
|
||||
use clap::ValueEnum;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
@@ -21,6 +21,12 @@ pub enum ZoomLevel {
|
||||
ZoomedOut,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum Players {
|
||||
Player,
|
||||
Enemy,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum CellStructure {
|
||||
Base(BaseBuilding),
|
||||
@@ -29,7 +35,6 @@ pub enum CellStructure {
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum Players {
|
||||
Player,
|
||||
Enemy,
|
||||
pub enum Units {
|
||||
Miner(MinerUnit),
|
||||
}
|
||||
|
||||
@@ -2,9 +2,10 @@ use crate::app::{
|
||||
buildings::BaseBuilding,
|
||||
helpers::{CellSizes, cell_size_helper, cells_area_helper},
|
||||
states::{
|
||||
CellStructure, FocusedCell, Offset, Players, ZoomLevel, skirmish_states::MoveFocusedCell,
|
||||
CellStructure, FocusedCell, Offset, Players, Units, ZoomLevel,
|
||||
skirmish_states::MoveFocusedCell,
|
||||
},
|
||||
units::{MinerUnit, Units},
|
||||
units::MinerUnit,
|
||||
widgets::CellWidget,
|
||||
};
|
||||
use ratatui::layout::Rect;
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
pub mod miner;
|
||||
pub mod unit;
|
||||
|
||||
pub use miner::MinerUnit;
|
||||
pub use unit::Units;
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
use crate::app::units::MinerUnit;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum Units {
|
||||
Miner(MinerUnit),
|
||||
}
|
||||
@@ -1,7 +1,4 @@
|
||||
use crate::app::{
|
||||
states::{CellStructure, Players, ZoomLevel},
|
||||
units::Units,
|
||||
};
|
||||
use crate::app::states::{CellStructure, Players, Units, ZoomLevel};
|
||||
use ratatui::{
|
||||
buffer::Buffer,
|
||||
layout::{Alignment, Rect},
|
||||
@@ -46,12 +43,14 @@ impl CellWidget {
|
||||
self
|
||||
}
|
||||
|
||||
pub fn set_zoom_level(&mut self, zoom_level: ZoomLevel) {
|
||||
pub fn set_zoom_level(&mut self, zoom_level: ZoomLevel) -> &mut Self {
|
||||
self.zoom_level = zoom_level;
|
||||
self
|
||||
}
|
||||
|
||||
pub fn set_structure(&mut self, sctructure: CellStructure) {
|
||||
pub fn set_structure(&mut self, sctructure: CellStructure) -> &mut Self {
|
||||
self.structure = sctructure;
|
||||
self
|
||||
}
|
||||
|
||||
pub fn get_marked(&self) -> bool {
|
||||
|
||||
Reference in New Issue
Block a user