feat: upgrade to new input system
This commit is contained in:
929
Cargo.lock
generated
929
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -13,7 +13,6 @@ use stardust_xr_fusion::{
|
|||||||
client::{Client, ClientState, FrameInfo, RootHandler},
|
client::{Client, ClientState, FrameInfo, RootHandler},
|
||||||
core::{schemas::flex::flexbuffers, values::ResourceID},
|
core::{schemas::flex::flexbuffers, values::ResourceID},
|
||||||
drawable::{MaterialParameter, Model, ModelPartAspect},
|
drawable::{MaterialParameter, Model, ModelPartAspect},
|
||||||
fields::BoxField,
|
|
||||||
node::{NodeError, NodeType},
|
node::{NodeError, NodeType},
|
||||||
spatial::{Spatial, SpatialAspect, Transform},
|
spatial::{Spatial, SpatialAspect, Transform},
|
||||||
};
|
};
|
||||||
@@ -44,7 +43,7 @@ async fn main() -> Result<()> {
|
|||||||
tokio::select! {
|
tokio::select! {
|
||||||
_ = tokio::signal::ctrl_c() => (),
|
_ = tokio::signal::ctrl_c() => (),
|
||||||
e = event_loop => e??,
|
e = event_loop => e??,
|
||||||
};
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,11 +163,18 @@ struct Button {
|
|||||||
}
|
}
|
||||||
impl Button {
|
impl Button {
|
||||||
fn new(client: &Client, state: &ClientState) -> Result<Self, NodeError> {
|
fn new(client: &Client, state: &ClientState) -> Result<Self, NodeError> {
|
||||||
let field = BoxField::create(client.get_root(), Transform::identity(), [APP_SIZE; 3])?;
|
let touch_plane = TouchPlane::create(
|
||||||
|
client.get_root(),
|
||||||
|
Transform::identity(),
|
||||||
|
[(APP_SIZE + PADDING) / 2.0; 2],
|
||||||
|
(APP_SIZE + PADDING) / 2.0,
|
||||||
|
0.0..1.0,
|
||||||
|
0.0..1.0,
|
||||||
|
)?;
|
||||||
let grabbable = Grabbable::create(
|
let grabbable = Grabbable::create(
|
||||||
client.get_root(),
|
client.get_root(),
|
||||||
Transform::none(),
|
Transform::none(),
|
||||||
&field,
|
&touch_plane.field(),
|
||||||
GrabbableSettings {
|
GrabbableSettings {
|
||||||
max_distance: 0.01,
|
max_distance: 0.01,
|
||||||
pointer_mode: PointerMode::Align,
|
pointer_mode: PointerMode::Align,
|
||||||
@@ -177,15 +183,9 @@ impl Button {
|
|||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
)?;
|
)?;
|
||||||
field.set_spatial_parent(grabbable.content_parent())?;
|
touch_plane
|
||||||
let touch_plane = TouchPlane::create(
|
.root()
|
||||||
grabbable.content_parent(),
|
.set_spatial_parent(grabbable.content_parent())?;
|
||||||
Transform::identity(),
|
|
||||||
[(APP_SIZE + PADDING) / 2.0; 2],
|
|
||||||
(APP_SIZE + PADDING) / 2.0,
|
|
||||||
0.0..1.0,
|
|
||||||
0.0..1.0,
|
|
||||||
)?;
|
|
||||||
|
|
||||||
let model = Model::create(
|
let model = Model::create(
|
||||||
grabbable.content_parent(),
|
grabbable.content_parent(),
|
||||||
|
|||||||
Reference in New Issue
Block a user