Add hunger: Reformat

This commit is contained in:
2022-01-29 00:31:16 +01:00
parent 74c05f97af
commit fdeabefd75
10 changed files with 110 additions and 51 deletions

View File

@@ -1,7 +1,7 @@
use specs::prelude::*;
use crate::{GameLog, Heals, HungerClock, HungerState, ProvidesHealing, RunState, SufferDamage};
use crate::spawner::player;
use crate::{GameLog, Heals, HungerClock, HungerState, ProvidesHealing, RunState, SufferDamage};
pub struct HungerSystem {}
@@ -13,19 +13,36 @@ impl<'a> System<'a> for HungerSystem {
ReadExpect<'a, RunState>,
WriteStorage<'a, SufferDamage>,
WriteExpect<'a, GameLog>,
WriteStorage<'a, Heals>
WriteStorage<'a, Heals>,
);
fn run(&mut self, data: Self::SystemData) {
let (entities, mut hunger_clock, player_entity, run_state, mut suffer_damage, mut game_log, mut heals) = data;
let (
entities,
mut hunger_clock,
player_entity,
run_state,
mut suffer_damage,
mut game_log,
mut heals,
) = data;
for (entity, mut clock) in (&entities, &mut hunger_clock).join() {
let mut proceed = false;
match *run_state {
RunState::PlayerTurn => {
if entity == *player_entity { proceed = true; } }
RunState::MonsterTurn => { if entity != *player_entity { proceed = true; } }
_ => { proceed = false; }
if entity == *player_entity {
proceed = true;
}
}
RunState::MonsterTurn => {
if entity != *player_entity {
proceed = true;
}
}
_ => {
proceed = false;
}
}
if !proceed {
@@ -42,7 +59,9 @@ impl<'a> System<'a> for HungerSystem {
clock.state = HungerState::Normal;
clock.duration = 200;
if entity == *player_entity {
game_log.entries.push("You are no longer well-feed".to_string())
game_log
.entries
.push("You are no longer well-feed".to_string())
}
}
HungerState::Normal => {
@@ -61,11 +80,13 @@ impl<'a> System<'a> for HungerSystem {
}
HungerState::Starving => {
if entity == *player_entity {
game_log.entries.push("Your hunger pangs are getting painful".to_string())
game_log
.entries
.push("Your hunger pangs are getting painful".to_string())
}
SufferDamage::new_damage(&mut suffer_damage, entity, 1);
}
}
}
}
}
}