send events to scene
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
extern crate vrtue;
|
||||
use vrtue::{scenes, view, vr};
|
||||
use vrtue::scene::Scene;
|
||||
use vrtue::scene::{Event, Scene};
|
||||
|
||||
extern crate env_logger;
|
||||
extern crate gfx_device_gl;
|
||||
@@ -35,6 +35,8 @@ pub fn main() {
|
||||
piston_window::Input::Text(_) => break 'main,
|
||||
_ => debug!("\t{:?}", ev)
|
||||
}
|
||||
|
||||
scene.event(Event::Piston(ev));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
use view;
|
||||
use vr;
|
||||
|
||||
extern crate gfx;
|
||||
extern crate gfx_device_gl;
|
||||
@@ -6,6 +7,7 @@ extern crate piston_window;
|
||||
|
||||
pub trait Scene<D: gfx::Device,
|
||||
F: gfx::Factory<D::Resources>> {
|
||||
fn event(&mut self, event: Event);
|
||||
fn update(&mut self);
|
||||
fn render(&self,
|
||||
factory: &mut F,
|
||||
@@ -14,3 +16,8 @@ pub trait Scene<D: gfx::Device,
|
||||
target: &gfx::handle::RenderTargetView<D::Resources, view::ColorFormat>,
|
||||
depth: &gfx::handle::DepthStencilView<D::Resources, view::DepthFormat>);
|
||||
}
|
||||
|
||||
pub enum Event {
|
||||
Vr(vr::Event),
|
||||
Piston(piston_window::Input),
|
||||
}
|
||||
|
||||
@@ -64,6 +64,9 @@ impl<D: gfx::Device, F: gfx::Factory<D::Resources>> WorldScene<D, F> {
|
||||
impl<D: gfx::Device,
|
||||
F: gfx::Factory<D::Resources>> scene::Scene<D, F> for WorldScene<D, F> {
|
||||
|
||||
fn event(&mut self, event: scene::Event) {
|
||||
}
|
||||
|
||||
fn update(&mut self) {
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user