summaryrefslogtreecommitdiff
path: root/world/src/physics.rs
diff options
context:
space:
mode:
Diffstat (limited to 'world/src/physics.rs')
-rw-r--r--world/src/physics.rs13
1 files changed, 5 insertions, 8 deletions
diff --git a/world/src/physics.rs b/world/src/physics.rs
index 23b3303..202c4e0 100644
--- a/world/src/physics.rs
+++ b/world/src/physics.rs
@@ -18,20 +18,17 @@ use anyhow::{Result, anyhow};
use gltf::{Gltf, Node, buffer::Data, json::Value};
use log::{debug, info};
use weareshared::{
- Affine3A,
- resources::{CollisionPart, Prefab},
- store::ResourceStore,
- vec3a,
+ Affine3A, packets::Resource, resources::CollisionPart, store::ResourceStore, vec3a,
};
pub fn import_physics(
gltf: &Gltf,
trans: Affine3A,
node: &Node,
- prefab: &mut Prefab,
store: &ResourceStore,
buffers: &[Data],
-) -> Result<()> {
+) -> Result<Vec<(Affine3A, Resource<CollisionPart>)>> {
+ let mut collision = Vec::new();
if let Some(physics) = node
.extensions()
.and_then(|e| e.get("KHR_physics_rigid_bodies"))
@@ -80,11 +77,11 @@ pub fn import_physics(
}
info!("added collision {:?}", node.name().unwrap_or_default());
- prefab.collision.push((trans, store.set(&collpart)?));
+ collision.push((trans, store.set(&collpart)?));
}
}
}
}
}
- Ok(())
+ Ok(collision)
}