generated from tipragot/rust
save
This commit is contained in:
parent
1fa3c8f268
commit
562c7bbab6
|
@ -7,6 +7,7 @@ use border_wars::map::ownership::OwnershipPlugin;
|
|||
use border_wars::map::renderer::RendererPlugin;
|
||||
use border_wars::map::selected_tile::SelectTilePlugin;
|
||||
use border_wars::networking::NetworkingPlugin;
|
||||
use border_wars::resources::ResourcesPlugin;
|
||||
use border_wars::scenes::ScenesPlugin;
|
||||
use border_wars::ui::UiPlugin;
|
||||
|
||||
|
@ -21,5 +22,6 @@ fn main() {
|
|||
.add_plugins(MapGenerationPlugin)
|
||||
.add_plugins(UiPlugin)
|
||||
.add_plugins(OwnershipPlugin)
|
||||
.add_plugins(ResourcesPlugin)
|
||||
.run();
|
||||
}
|
||||
|
|
|
@ -2,6 +2,17 @@
|
|||
|
||||
use bevy::prelude::*;
|
||||
|
||||
/// The resources plugin.
|
||||
pub struct ResourcesPlugin;
|
||||
|
||||
impl Plugin for ResourcesPlugin {
|
||||
fn build(&self, app: &mut App) {
|
||||
app.add_event::<ResetResources>()
|
||||
.insert_resource(Resources::initial())
|
||||
.add_systems(Update, handle_reset_resources);
|
||||
}
|
||||
}
|
||||
|
||||
/// The resources of the game.
|
||||
#[derive(Resource, Default)]
|
||||
pub struct Resources {
|
||||
|
@ -14,3 +25,28 @@ pub struct Resources {
|
|||
/// The food resource.
|
||||
pub food: u32,
|
||||
}
|
||||
|
||||
impl Resources {
|
||||
/// Returns the initial resources of the game.
|
||||
const fn initial() -> Self {
|
||||
Self {
|
||||
stone: 100,
|
||||
wood: 100,
|
||||
food: 100,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// An event send to reset the resources of the game.
|
||||
#[derive(Event)]
|
||||
pub struct ResetResources;
|
||||
|
||||
/// Handles the reset resources event.
|
||||
fn handle_reset_resources(
|
||||
mut reset_resources_event: EventReader<ResetResources>,
|
||||
mut resources: ResMut<Resources>,
|
||||
) {
|
||||
for _ in reset_resources_event.read() {
|
||||
*resources = Resources::initial();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue