use crate::entities::sun::Sun;
use crate::entities::pea::Pea;
use crate::core::resources::Resources;
use ggez::graphics;
use crate::zombies::Zombie;
pub trait PlantTrait {
fn get_initial_health(&self) -> i32;
fn get_cooldown(&self) -> u64;
fn get_frame_count(&self) -> usize;
fn update_action(&mut self, grid_x: usize, grid_y: usize, suns: &mut Vec<Sun>, peas: &mut Vec<Pea>, zombies: &Vec<Zombie>);
fn get_cost(&self) -> i32;
fn get_card_image<'a>(&self, resources: &'a Resources) -> &'a graphics::Image;
fn get_current_frame_image<'a>(&self, resources: &'a Resources, animation_frame: usize) -> &'a graphics::Image;
fn special_effect(&mut self, _grid_x: usize, _grid_y: usize) {
}
fn get_damage_state(&self) -> usize {
1 }
}