From 644d8648b2252b6356097bfe58de7484cea83810 Mon Sep 17 00:00:00 2001 From: GarandPLG Date: Tue, 5 May 2026 17:43:50 +0200 Subject: [PATCH] Refactor DiggingTask and embed it in Tasks enum MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove lifetime and path storage from DiggingTask, make it Copy. - Add a placeholder `new` constructor that accepts a path. - Update the Tasks enum to hold a DiggingTask value. - Reorder module declarations and re‑export order for tasks. - Add a commented‑out tasks field to MinerUnit as a preparation step. --- src/app/states/skirmish_states/tasks/digging.rs | 14 +++++++++++--- src/app/states/skirmish_states/tasks/mod.rs | 4 ++-- src/app/states/skirmish_states/tasks/tasks_enum.rs | 4 +++- src/app/states/skirmish_states/units/miner.rs | 4 +++- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/app/states/skirmish_states/tasks/digging.rs b/src/app/states/skirmish_states/tasks/digging.rs index b4cea94..fcb1c1f 100644 --- a/src/app/states/skirmish_states/tasks/digging.rs +++ b/src/app/states/skirmish_states/tasks/digging.rs @@ -1,6 +1,14 @@ use crate::app::widgets::CellWidget; -#[derive(Debug, Clone, PartialEq)] -pub struct DiggingTask<'a> { - path: Vec<&'a CellWidget>, +#[derive(Debug, Clone, Copy, PartialEq)] +pub struct DiggingTask { + // path: Vec<(usize, usize)>, +} + +impl DiggingTask { + pub fn new(path: Vec<(u16, u16)>) -> Self { + Self { + // path + } + } } diff --git a/src/app/states/skirmish_states/tasks/mod.rs b/src/app/states/skirmish_states/tasks/mod.rs index 5fc4b7b..5b269b7 100644 --- a/src/app/states/skirmish_states/tasks/mod.rs +++ b/src/app/states/skirmish_states/tasks/mod.rs @@ -1,7 +1,7 @@ mod digging; -mod tasks_enum; mod task_trait; +mod tasks_enum; -pub use tasks_enum::Tasks; pub use digging::DiggingTask; pub use task_trait::Task; +pub use tasks_enum::Tasks; diff --git a/src/app/states/skirmish_states/tasks/tasks_enum.rs b/src/app/states/skirmish_states/tasks/tasks_enum.rs index e95cc3f..a2f2aee 100644 --- a/src/app/states/skirmish_states/tasks/tasks_enum.rs +++ b/src/app/states/skirmish_states/tasks/tasks_enum.rs @@ -1,4 +1,6 @@ +use crate::app::states::skirmish_states::tasks::DiggingTask; + #[derive(Debug, Clone, Copy, PartialEq)] pub enum Tasks { - Digging, + Digging(DiggingTask), } diff --git a/src/app/states/skirmish_states/units/miner.rs b/src/app/states/skirmish_states/units/miner.rs index fbc4281..d592198 100644 --- a/src/app/states/skirmish_states/units/miner.rs +++ b/src/app/states/skirmish_states/units/miner.rs @@ -1,4 +1,4 @@ -use crate::app::states::skirmish_states::{Players, units::Unit}; +use crate::app::states::skirmish_states::{Players, tasks::Tasks, units::Unit}; #[derive(Debug, Clone, Copy, PartialEq)] pub struct MinerUnit { @@ -6,6 +6,7 @@ pub struct MinerUnit { hp: u16, can_dig: bool, digging_power: f32, + // tasks: Vec, } impl MinerUnit { @@ -15,6 +16,7 @@ impl MinerUnit { hp: 100, can_dig: true, digging_power: 0.55, + // tasks: Vec::new(), } } }