add new buttons (grass + cross)
BIN
assets/ui/disabled_cross.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
assets/ui/disabled_grass.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
assets/ui/disabled_tree.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
assets/ui/enabled_cross.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
assets/ui/enabled_grass.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
assets/ui/enabled_tree.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.9 KiB |
11
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;
|
||||||
|
},
|
||||||
|
_ => {}
|
||||||
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
34
src/ui.rs
@ -9,7 +9,12 @@ impl bevy::prelude::Plugin for Plugin {
|
|||||||
app.init_resource::<CurrentAction>()
|
app.init_resource::<CurrentAction>()
|
||||||
.add_systems(Startup, setup)
|
.add_systems(Startup, setup)
|
||||||
.add_systems(Update, zoom_with_scroll);
|
.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,
|
align_self: AlignSelf::FlexEnd,
|
||||||
!};
|
!};
|
||||||
Button;
|
Button;
|
||||||
BorderColor(#F00);
|
|
||||||
BackgroundColor(#77767b);
|
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 {
|
Node {
|
||||||
height: 80%,
|
height: 80%,
|
||||||
margin: [>1vh],
|
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<Pointer<Click>>, mut ca: ResMut<CurrentAction>| {
|
||||||
|
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<Pointer<Click>>, mut ca: ResMut<CurrentAction>| {
|
||||||
|
if trigger.button == PointerButton::Primary {
|
||||||
|
*ca = CurrentAction::None;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|