Add hunger

This commit is contained in:
2022-01-29 00:31:00 +01:00
parent cb17a9c356
commit 74c05f97af
10 changed files with 280 additions and 74 deletions

View File

@@ -1,14 +1,14 @@
use rltk::Rltk;
use rltk::RGB;
use rltk::{Point, VirtualKeyCode};
use rltk::RGB;
use rltk::Rltk;
use specs::prelude::*;
use crate::gamelog::GameLog;
use crate::Name;
use crate::Player;
use crate::Position;
use crate::{HungerClock, HungerState, HungerSystem, Name};
use crate::{CombatStats, InBackpack, RunState, State, Viewshed};
use crate::{Equipped, Map};
use crate::gamelog::GameLog;
use crate::Player;
use crate::Position;
pub fn draw_ui(ecs: &World, ctx: &mut Rltk) {
ctx.draw_box(
@@ -22,9 +22,10 @@ pub fn draw_ui(ecs: &World, ctx: &mut Rltk) {
let combat_stats = ecs.read_storage::<CombatStats>();
let players = ecs.read_storage::<Player>();
let hunger = ecs.read_storage::<HungerClock>();
let log = ecs.fetch::<GameLog>();
for (_player, stats) in (&players, &combat_stats).join() {
for (_player, stats, hc) in (&players, &combat_stats, &hunger).join() {
let health = format!(" HP: {} / {}", stats.hp, stats.max_hp);
ctx.print_color(
12,
@@ -43,8 +44,16 @@ pub fn draw_ui(ecs: &World, ctx: &mut Rltk) {
RGB::named(rltk::RED),
RGB::named(rltk::BLACK),
);
match hc.state {
HungerState::WellFed => ctx.print_color(71, 42, RGB::named(rltk::GREEN), RGB::named(rltk::BLACK), "Well Fed"),
HungerState::Normal => {}
HungerState::Hungry => ctx.print_color(71, 42, RGB::named(rltk::ORANGE), RGB::named(rltk::BLACK), "Hungry"),
HungerState::Starving => ctx.print_color(71, 42, RGB::named(rltk::RED), RGB::named(rltk::BLACK), "Starving"),
}
}
let mut y = 44;
for s in log.entries.iter().rev() {
if y < 49 {