generated from GarandPLG/rust-flake-template
Rename iron to metal, add mining and recruitment
- Updated CLI, README and documentation to use `--starting-metal` with `--starting-iron` retained as an alias. - Introduced `Resources` struct and constants for wood delivery and mine production. - Added new structures `Mine` and `MineConstruction` with cost, production and cancel logic. - Implemented building view for constructing mines and recruitment view for spawning miners. - Extended keybindings with `Building` and `Recruitment` actions and updated action availability logic. - Modified game state, board, units and UI widgets to handle metal resources and new construction mechanics. - Updated tests and increased total test count to 82, covering resources, construction, recruitment and context‑aware keybindings.
This commit is contained in:
1 parent
305cc2c4a2
commit
a981663152
35 files changed
+2160
-74
No files matched your search
+6
-2
@@ -1,7 +1,7 @@
|
||||
use crate::{
|
||||
app::states::{
|
||||
MainMenuState, PerkDecksState, SettingsState, SkillsConfigState, SkirmishState,
|
||||
skirmish_states::BoardState,
|
||||
skirmish_states::{BoardState, Resources},
|
||||
},
|
||||
cli::Cli,
|
||||
};
|
||||
@@ -36,6 +36,10 @@ impl GameStates {
|
||||
),
|
||||
side_panel: false,
|
||||
turn_counter: 0,
|
||||
player_resources: Resources::new(args.starting_wood, args.starting_metal),
|
||||
enemy_resources: Resources::new(args.starting_wood, args.starting_metal),
|
||||
building_view: false,
|
||||
recruitment_view: false,
|
||||
},
|
||||
perk_decks: PerkDecksState {
|
||||
id: 2,
|
||||
@@ -52,7 +56,7 @@ impl GameStates {
|
||||
game_mode: args.game_mode.clone(),
|
||||
perk_deck: args.perk_deck.clone(),
|
||||
starting_wood: args.starting_wood.clone(),
|
||||
starting_iron: args.starting_iron.clone(),
|
||||
starting_metal: args.starting_metal,
|
||||
supply_limit: args.supply_limit.clone(),
|
||||
xp_modifier: args.xp_modifier.clone(),
|
||||
skill_points_limit: args.skill_points_limit.clone(),
|
||||
|
||||
Reference in new issue
Block a user