From 8e5f8c00882d391b213d3a1edca4f7560278a3ea Mon Sep 17 00:00:00 2001 From: Nova Date: Sat, 11 Jun 2022 15:44:56 -0400 Subject: [PATCH] feat(field): interface --- src/core/client.rs | 2 ++ src/nodes/field.rs | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/core/client.rs b/src/core/client.rs index 4a0416d..ad7378f 100644 --- a/src/core/client.rs +++ b/src/core/client.rs @@ -1,4 +1,5 @@ use super::scenegraph::Scenegraph; +use crate::nodes::field; use crate::nodes::spatial; use libstardustxr::messenger::Messenger; use mio::net::UnixStream; @@ -17,6 +18,7 @@ impl<'a> Client<'a> { }); client.scenegraph.set_client(&client); spatial::create_interface(client.clone()); + field::create_interface(client.clone()); client } pub fn dispatch(&self) -> Result<(), std::io::Error> { diff --git a/src/nodes/field.rs b/src/nodes/field.rs index 5b697cd..26e086f 100644 --- a/src/nodes/field.rs +++ b/src/nodes/field.rs @@ -1,5 +1,6 @@ use super::core::Node; use super::spatial::Spatial; +use crate::core::client::Client; use anyhow::{anyhow, ensure, Result}; use glam::{vec2, vec3a, Vec3, Vec3A}; use libstardustxr::flex_to_vec3; @@ -138,3 +139,8 @@ pub trait Field { fn spatial_ref(&self) -> &Spatial; } + +pub fn create_interface(client: Rc) { + let mut node = Node::create(Rc::downgrade(&client), "", "field", false); + client.get_scenegraph().add_node(node); +} \ No newline at end of file