tavern_keeper/src/events/tavern_built.rs

20 lines
495 B
Rust

use std::rc::Rc;
use crate::{state::{GameState, Effect}, world::{Structure, Tavern}};
pub struct TavernBuilt {
pub x: usize,
pub y: usize,
pub tavern: Rc<Tavern>,
}
impl Effect for TavernBuilt {
fn apply(&self, state: &mut GameState) {
state.world.add_structure(self.x, self.y, Structure::Tavern(self.tavern.clone()));
state.set_tavern(self.tavern.clone());
}
fn description(&self) -> String {
format!("{} was built", self.tavern.name)
}
}