1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use crate::prelude::*;
#[derive(Default)]
pub struct MapRenderer;
impl MapRenderer {
pub fn new() -> Self {
Default::default()
}
pub fn add_node() -> Handle<Self> {
scene::add_node(Self::new())
}
}
impl Node for MapRenderer {
fn draw(_: RefMut<Self>) {
let map = storage::get::<Map>();
let viewport = storage::get::<Viewport>();
let rect = map.to_grid(viewport.get_frustum());
map.draw(Some(rect));
}
}