long hallway

This commit is contained in:
AmadeusWM
2025-04-05 23:53:17 +02:00
parent 10c9a61f34
commit 3f2eb3e432
2 changed files with 15 additions and 6440 deletions

6436
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -12,14 +12,25 @@ fn spawn_level(
gltf_assets: Res<GltfAssets> gltf_assets: Res<GltfAssets>
) { ) {
println!("LIBRARY: {:?}", gltf_assets.library); println!("LIBRARY: {:?}", gltf_assets.library);
let mut x_offset = 0.0; let shapes = ["corner_inside", "corner_outside", "wall", "door", "round_door", "round_hole"].map(|mesh_name| {
for mesh_name in ["corner_inside", "corner_outside", "wall", "door", "round_door", "round_hole"] {
let path = format!("meshes/library/space_{}.glb", mesh_name); let path = format!("meshes/library/space_{}.glb", mesh_name);
let handle = gltf_assets.library.get(&path).expect(&format!("Couldn't find {} in library", mesh_name)); let handle = gltf_assets.library.get(&path).expect(&format!("Couldn't find {} in library", mesh_name));
let gltf = models.get(handle).expect(&format!("No model for {}", mesh_name)); let gltf = models.get(handle).expect(&format!("No model for {}", mesh_name));
let asset = gltf.default_scene.as_ref().expect(&format!("No scene in {}", mesh_name)); let asset = gltf.default_scene.as_ref().expect(&format!("No scene in {}", mesh_name));
commands.spawn((SceneRoot(asset.clone()), TransformBundle::from_transform(Transform::from_xyz(x_offset, 0.0, 0.0)))); SceneRoot(asset.clone());
x_offset += 2.0; });
let [corner_inside, corner_outside, wall, door, round_door, round_hole] = shapes;
let mut x_offset = 0.0;
for i in 0..10 {
commands.spawn(wall.clone())
.insert(TransformBundle::from_transform(Transform::from_xyz(x_offset + (i as f32 * 2.0), 0.0, 0.0)));
commands.spawn(wall.clone())
.insert(TransformBundle::from_transform(
Transform::from_xyz(x_offset + (i as f32 * 2.0), 0.0, 0.0)
.with_rotation(Quat::from_rotation_y(std::f32::consts::PI))
));
} }
x_offset += 2.0;
} }