diff options
Diffstat (limited to 'games/rstnode/rst-client/src/graphics/mod.rs')
-rw-r--r-- | games/rstnode/rst-client/src/graphics/mod.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/games/rstnode/rst-client/src/graphics/mod.rs b/games/rstnode/rst-client/src/graphics/mod.rs index 8118207d70af..095e66f1ad1f 100644 --- a/games/rstnode/rst-client/src/graphics/mod.rs +++ b/games/rstnode/rst-client/src/graphics/mod.rs @@ -8,9 +8,25 @@ pub mod entities; pub mod ui; +use crate::state::ClientState; +use ggez::{Context, GameResult}; + /// A utility module to include everything required to implement a /// graphics entity pub(self) mod prelude { - pub use ggez::{event::EventHandler, graphics::{self, Drawable, DrawParam, Mesh, DrawMode}, Context, GameResult}; + pub use ggez::{ + event::EventHandler, + graphics::{self, DrawMode, DrawParam, Drawable, Mesh}, + Context, GameResult, + }; pub use mint::Point2; + + pub use super::Renderer; + pub use crate::state::ClientState; +} + +/// A rendering trait which is given graphics context, and game state +pub trait Renderer { + fn update(&mut self, _state: &mut ClientState, _ctx: &mut Context) -> GameResult<()>; + fn draw(&self, _state: &ClientState, _ctx: &mut Context) -> GameResult<()>; } |