generated from GarandPLG/rust-flake-template
Use VecDeque for tasks and marked cells
Replace `Vec` with `VecDeque` in `BoardState` marked cells, `DiggingTask` path, and `MinerUnit` tasks to enable efficient push/pop operations. Remove the `Copy` trait from several structs and enums, adjust derives accordingly, and use `as_ref` in `Option<Units>` implementations to avoid consuming the option. Update cell rendering to clone widgets and adjust `CellWidget::get_option_unit` to return a cloned `Option<Units>`. Add necessary `VecDeque` imports.
This commit is contained in:
1 parent
41020708e4
commit
b66c1d8e25
7 files changed
+29
-28
No files matched your search
@@ -38,7 +38,7 @@ impl Widget for BoardWidget<'_> {
|
||||
.cells
|
||||
.get(row_idx + self.state.vertical_offset.get_value())
|
||||
.and_then(|rows| rows.get(col_idx + self.state.horizontal_offset.get_value()))
|
||||
.map(|cell| cell.render(*cell_area, buf));
|
||||
.map(|cell| cell.clone().render(*cell_area, buf));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user