diff --git a/src/animal.rs b/src/animal.rs index c7993c7..3279c65 100644 --- a/src/animal.rs +++ b/src/animal.rs @@ -1,9 +1,42 @@ use bevy::prelude::*; -use crate::properties::Property; - #[derive(Component)] pub struct Animal { - //pub properties: Vec<тут крч пропертис> - pub properties: Vec> + 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!(); + } } \ No newline at end of file