From c957799a81a7e32b7a64a1ae70e69be686cba509 Mon Sep 17 00:00:00 2001 From: luckyturtledev Date: Sat, 6 Jul 2024 13:33:58 +0200 Subject: [PATCH] add activities --- src/activities/house.rs | 7 +++++++ src/activities/mod.rs | 8 ++++++++ src/activities/overworld.rs | 7 +++++++ src/game.rs | 19 ++++++++++++++----- src/main.rs | 16 ++++++++++++++-- 5 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 src/activities/house.rs create mode 100644 src/activities/mod.rs create mode 100644 src/activities/overworld.rs 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) {