diff --git a/assets/ui/disabled_cross.png b/assets/ui/disabled_cross.png new file mode 100644 index 0000000..f190455 Binary files /dev/null and b/assets/ui/disabled_cross.png differ diff --git a/assets/ui/disabled_grass.png b/assets/ui/disabled_grass.png new file mode 100644 index 0000000..d80407e Binary files /dev/null and b/assets/ui/disabled_grass.png differ diff --git a/assets/ui/disabled_tree.png b/assets/ui/disabled_tree.png new file mode 100644 index 0000000..dac2bbd Binary files /dev/null and b/assets/ui/disabled_tree.png differ diff --git a/assets/ui/enabled_cross.png b/assets/ui/enabled_cross.png new file mode 100644 index 0000000..933834e Binary files /dev/null and b/assets/ui/enabled_cross.png differ diff --git a/assets/ui/enabled_grass.png b/assets/ui/enabled_grass.png new file mode 100644 index 0000000..aae4eb4 Binary files /dev/null and b/assets/ui/enabled_grass.png differ diff --git a/assets/ui/enabled_tree.png b/assets/ui/enabled_tree.png new file mode 100644 index 0000000..6019c1d Binary files /dev/null and b/assets/ui/enabled_tree.png differ diff --git a/assets/ui/tree.png b/assets/ui/tree.png deleted file mode 100644 index e782798..0000000 Binary files a/assets/ui/tree.png and /dev/null differ diff --git a/assets/ui/tree_disabled.png b/assets/ui/tree_disabled.png deleted file mode 100644 index 4782b30..0000000 Binary files a/assets/ui/tree_disabled.png and /dev/null differ diff --git a/src/map.rs b/src/map.rs index f886b44..998cf0b 100644 --- a/src/map.rs +++ b/src/map.rs @@ -176,6 +176,17 @@ fn setup( }, _ => {} }, + CellKind::Grass => match cell.kind { + CellKind::Dirt => { + cmds.entity(trigger.target).insert((Wealth(0), Regeneration { + last_update: gt.current, + full_growth_duration: CellKind::Grass.regen_full_growth_duration() + })); + cell.kind = CellKind::Grass; + map_needs_update.single_mut().0 = true; + }, + _ => {} + } _ => {} } } diff --git a/src/ui.rs b/src/ui.rs index e7a9a08..6059389 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -9,7 +9,12 @@ impl bevy::prelude::Plugin for Plugin { app.init_resource::() .add_systems(Startup, setup) .add_systems(Update, zoom_with_scroll); - embedded_asset!(app, "../assets/ui/tree.png"); + embedded_asset!(app, "../assets/ui/enabled_tree.png"); + embedded_asset!(app, "../assets/ui/disabled_tree.png"); + embedded_asset!(app, "../assets/ui/enabled_grass.png"); + embedded_asset!(app, "../assets/ui/disabled_grass.png"); + embedded_asset!(app, "../assets/ui/enabled_cross.png"); + embedded_asset!(app, "../assets/ui/disabled_cross.png"); } } @@ -95,10 +100,9 @@ fn setup( align_self: AlignSelf::FlexEnd, !}; Button; - BorderColor(#F00); BackgroundColor(#77767b); [ - ImageNode::new(asset_server.load("embedded://forestiles/../assets/ui/tree.png")); + ImageNode::new(asset_server.load("embedded://forestiles/../assets/ui/enabled_tree.png")); Node { height: 80%, margin: [>1vh], @@ -109,6 +113,30 @@ fn setup( } }); ] + [ + ImageNode::new(asset_server.load("embedded://forestiles/../assets/ui/enabled_grass.png")); + Node { + height: 80%, + margin: [>1vh], + !}; + .observe(|trigger: Trigger>, mut ca: ResMut| { + if trigger.button == PointerButton::Primary { + *ca = CurrentAction::ChangeCell(CellKind::Grass); + } + }); + ] + [ + ImageNode::new(asset_server.load("embedded://forestiles/../assets/ui/enabled_cross.png")); + Node { + height: 80%, + margin: [>1vh], + !}; + .observe(|trigger: Trigger>, mut ca: ResMut| { + if trigger.button == PointerButton::Primary { + *ca = CurrentAction::None; + } + }); + ] ] } }