aboutsummaryrefslogtreecommitdiff
path: root/games/rstnode/rst-client/src/graphics/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'games/rstnode/rst-client/src/graphics/mod.rs')
-rw-r--r--games/rstnode/rst-client/src/graphics/mod.rs18
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<()>;
}