diff --git a/src/activities/house.rs b/src/activities/house.rs new file mode 100644 index 0000000..8043a2d --- /dev/null +++ b/src/activities/house.rs @@ -0,0 +1,7 @@ +use comfy::*; + +pub fn draw(_state: &crate::State, _engine: &comfy::EngineContext) { + draw_circle(vec2(0.0, 0.0), 0.5, RED, 0); +} + +pub fn update(_state: &mut crate::State, _engine: &mut comfy::EngineContext) {} diff --git a/src/activities/mod.rs b/src/activities/mod.rs new file mode 100644 index 0000000..5d0b11f --- /dev/null +++ b/src/activities/mod.rs @@ -0,0 +1,8 @@ +pub mod house; +pub mod overworld; + +#[derive(Debug)] +pub enum Activity { + House, + Overworld +} diff --git a/src/activities/overworld.rs b/src/activities/overworld.rs new file mode 100644 index 0000000..2200ed6 --- /dev/null +++ b/src/activities/overworld.rs @@ -0,0 +1,7 @@ +use comfy::*; + +pub fn draw(_state: &crate::State, _engine: &comfy::EngineContext) { + draw_circle(vec2(0.0, 0.0), 0.5, GREEN, 0); +} + +pub fn update(_state: &mut crate::State, _engine: &mut comfy::EngineContext) {} diff --git a/src/game.rs b/src/game.rs index 7fc4b82..a91fe39 100644 --- a/src/game.rs +++ b/src/game.rs @@ -1,11 +1,20 @@ use comfy::*; -use crate::State; +use crate::{ + activities::{house, overworld, Activity}, + State +}; -pub fn update(_state: &mut State, _engine: &mut EngineContext) { - info!("update"); +pub fn update(state: &mut State, engine: &mut EngineContext) { + match state.activity { + Activity::House => house::update(state, engine), + Activity::Overworld => overworld::update(state, engine) + } } -pub fn draw(_state: &State, _engine: &EngineContext) { - draw_circle(vec2(0.0, 0.0), 0.5, RED, 0); +pub fn draw(state: &State, engine: &EngineContext) { + match state.activity { + Activity::House => house::draw(state, engine), + Activity::Overworld => overworld::draw(state, engine) + } } diff --git a/src/main.rs b/src/main.rs index e162626..4992bdf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,15 +1,27 @@ +mod activities; mod game; +use activities::Activity; use comfy::*; const GAME_NAME: &str = "Powercreep"; #[derive(Debug)] -struct State {} +struct State { + activity: Activity +} + +impl Default for State { + fn default() -> Self { + Self { + activity: Activity::House + } + } +} impl GameLoop for State { fn new(_c: &mut EngineState) -> Self { - State {} + Self::default() } fn update(&mut self, engine: &mut EngineContext) {