Animal food impl
This commit is contained in:
parent
28233c678b
commit
b01b15ee09
1 changed files with 37 additions and 4 deletions
|
|
@ -1,9 +1,42 @@
|
|||
use bevy::prelude::*;
|
||||
|
||||
use crate::properties::Property;
|
||||
|
||||
#[derive(Component)]
|
||||
pub struct Animal {
|
||||
//pub properties: Vec<тут крч пропертис>
|
||||
pub properties: Vec<Box<dyn Property>>
|
||||
food_capacity : u8,
|
||||
food : u8
|
||||
}
|
||||
|
||||
impl Animal
|
||||
{
|
||||
pub fn get_food_capacity(&self) -> u8 {
|
||||
self.food_capacity
|
||||
}
|
||||
|
||||
pub fn get_food(&self) -> u8 {
|
||||
self.food
|
||||
}
|
||||
|
||||
pub fn feed(&mut self,amount : u8) -> u8 {
|
||||
if self.food == self.food_capacity {
|
||||
return self.food
|
||||
}
|
||||
|
||||
if self.food + amount >= self.food_capacity {
|
||||
self.food = self.food_capacity;
|
||||
return self.food
|
||||
}
|
||||
|
||||
self.food += amount;
|
||||
self.food
|
||||
}
|
||||
|
||||
pub fn reset(&mut self) {
|
||||
self.food = 0;
|
||||
}
|
||||
|
||||
// WIP
|
||||
pub fn compute_capacity(&mut self)
|
||||
{
|
||||
todo!();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue