Added setup to house and WIP Furniture tiles
This commit is contained in:
parent
9f78a94c8d
commit
1cdb6156f8
6 changed files with 84 additions and 56 deletions
|
@ -3,6 +3,7 @@ mod grid;
|
|||
mod player;
|
||||
mod room;
|
||||
|
||||
use comfy::EngineContext;
|
||||
use grid::Grid;
|
||||
use player::Player;
|
||||
use room::Room;
|
||||
|
@ -14,33 +15,39 @@ pub struct HouseState {
|
|||
player: Player
|
||||
}
|
||||
|
||||
impl Default for HouseState {
|
||||
fn default() -> Self {
|
||||
let room = Room::default();
|
||||
pub fn setup(state: &mut crate::State, ctx: &mut EngineContext<'_>) {
|
||||
let house = {
|
||||
let room = Room::new(ctx);
|
||||
let player = Player::new(&room);
|
||||
Self { room, player}
|
||||
}
|
||||
HouseState { room, player}
|
||||
};
|
||||
|
||||
state.house = Some(house);
|
||||
}
|
||||
|
||||
pub fn draw(state: &crate::State, _engine: &comfy::EngineContext<'_>) {
|
||||
pub fn draw(state: &crate::State, ctx: &comfy::EngineContext<'_>) {
|
||||
if let Some(house) = &state.house {
|
||||
//Draw House
|
||||
state.house.room.draw();
|
||||
house.room.draw();
|
||||
|
||||
//Draw Grid
|
||||
//state.house.grid.draw();
|
||||
|
||||
//Draw Player
|
||||
state.house.player.draw();
|
||||
}
|
||||
|
||||
pub fn update(state: &mut crate::State, _engine: &mut comfy::EngineContext<'_>) {
|
||||
state.house.player.update(&state.house.room.grid);
|
||||
|
||||
if state.house.player.is_moving_to_right_room(&state.house.room) {
|
||||
state.house.room = Room::default();
|
||||
state.house.player.reset_on_room(&state.house.room, true);
|
||||
} else if state.house.player.is_moving_to_left_room(&state.house.room) {
|
||||
state.house.room = Room::default();
|
||||
state.house.player.reset_on_room(&state.house.room, false);
|
||||
house.player.draw();
|
||||
}
|
||||
}
|
||||
|
||||
pub fn update(state: &mut crate::State, ctx: &mut comfy::EngineContext<'_>) {
|
||||
if let Some(house) = &mut state.house {
|
||||
house.player.update(&house.room.grid);
|
||||
|
||||
if house.player.is_moving_to_right_room(&house.room) {
|
||||
house.room = Room::new(ctx);
|
||||
house.player.reset_on_room(&house.room, true);
|
||||
} else if house.player.is_moving_to_left_room(&house.room) {
|
||||
house.room = Room::new(ctx);
|
||||
house.player.reset_on_room(&house.room, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue