Skip to content

Commit

Permalink
Rustfmt
Browse files Browse the repository at this point in the history
  • Loading branch information
Selene-Amanita committed Apr 8, 2024
1 parent 909fdda commit df6f968
Show file tree
Hide file tree
Showing 17 changed files with 759 additions and 486 deletions.
16 changes: 5 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,18 @@ use bevy_basic_portals::*;

fn main() {
App::new()
.add_plugins((
DefaultPlugins,
PortalsPlugin::MINIMAL
))
.add_plugins((DefaultPlugins, PortalsPlugin::MINIMAL))
.add_systems(Startup, setup)
.run();
}

fn setup(
mut commands: Commands,
mut meshes: ResMut<Assets<Mesh>>,
) {
fn setup(mut commands: Commands, mut meshes: ResMut<Assets<Mesh>>) {
commands.spawn(Camera3dBundle {
transform: Transform::from_xyz(-20.0, 0., 20.0).looking_at(Vec3::ZERO, Vec3::Y),
..default()
});

let portal_mesh = meshes.add(Rectangle::new(10., 10.));
let portal_mesh = meshes.add(Mesh::from(Rectangle::new(10., 10.)));
commands.spawn(CreatePortalBundle {
mesh: portal_mesh,
// This component will be deleted and things that are needed to create the portal will be created
Expand All @@ -55,10 +49,10 @@ fn setup(
..default()
});

let sphere_mesh = meshes.add(Sphere::new(2.).mesh().uv(32, 18));
let sphere_mesh = meshes.add(Mesh::from(Sphere::new(2.).mesh().uv(32, 18)));
commands.spawn(PbrBundle {
mesh: sphere_mesh,
transform: Transform::from_xyz(20.,0.,-5.),
transform: Transform::from_xyz(20., 0., -5.),
..default()
});
}
Expand Down
14 changes: 4 additions & 10 deletions examples/basic/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,12 @@ use bevy_basic_portals::*;

fn main() {
App::new()
.add_plugins((
DefaultPlugins,
PortalsPlugin::MINIMAL
))
.add_plugins((DefaultPlugins, PortalsPlugin::MINIMAL))
.add_systems(Startup, setup)
.run();
}

fn setup(
mut commands: Commands,
mut meshes: ResMut<Assets<Mesh>>,
) {
fn setup(mut commands: Commands, mut meshes: ResMut<Assets<Mesh>>) {
commands.spawn(Camera3dBundle {
transform: Transform::from_xyz(-20.0, 0., 20.0).looking_at(Vec3::ZERO, Vec3::Y),
..default()
Expand Down Expand Up @@ -45,7 +39,7 @@ fn setup(
let sphere_mesh = meshes.add(Mesh::from(Sphere::new(2.).mesh().uv(32, 18)));
commands.spawn(PbrBundle {
mesh: sphere_mesh,
transform: Transform::from_xyz(20.,0.,-5.),
transform: Transform::from_xyz(20., 0., -5.),
..default()
});
}
}
184 changes: 147 additions & 37 deletions examples/cube/main.rs
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
//! This example creates a cube with each face being a portal to a different scene, using [RenderLayers]
//!
//!
//! (This is what this crate was created for originally)

use bevy::{
prelude::*,
render::{view::RenderLayers, render_resource::Face}
render::{render_resource::Face, view::RenderLayers},
};

use bevy_basic_portals::*;

#[path = "../../helpers/textures.rs"]
mod textures;
#[path = "../../helpers/pivot_cameras.rs"]
mod pivot_cameras;
#[path = "../../helpers/textures.rs"]
mod textures;

pub mod scenes;

Expand All @@ -31,21 +31,23 @@ fn setup(
mut commands: Commands,
mut meshes: ResMut<Assets<Mesh>>,
mut images: ResMut<Assets<Image>>,
mut materials: ResMut<Assets<StandardMaterial>>
mut materials: ResMut<Assets<StandardMaterial>>,
) {
// Main Camera
let pivot = Vec3::ZERO;
let main_camera = commands.spawn((
Camera3dBundle {
transform: Transform::from_xyz(0.0, 0., 20.0).looking_at(pivot, Vec3::Y),
..default()
},
pivot_cameras::PivotCamera {
pivot,
closest: 10., // half diagonal of the cube = sqrt(3) * 10 / 2 < 10.
..default()
},
)).id();
let main_camera = commands
.spawn((
Camera3dBundle {
transform: Transform::from_xyz(0.0, 0., 20.0).looking_at(pivot, Vec3::Y),
..default()
},
pivot_cameras::PivotCamera {
pivot,
closest: 10., // half diagonal of the cube = sqrt(3) * 10 / 2 < 10.
..default()
},
))
.id();

// Lights
commands.insert_resource(AmbientLight {
Expand All @@ -56,7 +58,10 @@ fn setup(
commands.insert_resource(ClearColor(Color::rgb(0., 0., 0.)));

// Scenes
let portal_mesh = meshes.add(Mesh::from(Rectangle::new(scenes::PORTAL_SIZE, scenes::PORTAL_SIZE)));
let portal_mesh = meshes.add(Mesh::from(Rectangle::new(
scenes::PORTAL_SIZE,
scenes::PORTAL_SIZE,
)));

let debug_material = materials.add(textures::debug_material(&mut images, 1, Some(Face::Back)));

Expand All @@ -68,57 +73,162 @@ fn setup(
let render_layer = RenderLayers::layer(1);
let shape = meshes.add(Cuboid::new(5., 5., 5.));
let color = Color::YELLOW;
scenes::setup_portal_cube_face(&mut commands, spawn_portal_dir, spawn_portal_up, main_camera, render_layer, portal_mesh.clone(), true);
scenes::setup_scene_test(&mut commands, spawn_portal_dir, spawn_portal_up, render_layer, portal_mesh.clone(),
wall_material.clone(), shape.clone(), debug_material.clone(), color);
scenes::setup_portal_cube_face(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
main_camera,
render_layer,
portal_mesh.clone(),
true,
);
scenes::setup_scene_test(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
render_layer,
portal_mesh.clone(),
wall_material.clone(),
shape.clone(),
debug_material.clone(),
color,
);

// Back scene
let spawn_portal_dir = -Vec3::Z;
let spawn_portal_up = Vec3::Y;
let render_layer = RenderLayers::layer(2);
let shape = meshes.add(Cuboid::from_corners(Vec3::new(1.,4.,1.), Vec3::new(-1.,-1.,-2.)));
let shape = meshes.add(Cuboid::from_corners(
Vec3::new(1., 4., 1.),
Vec3::new(-1., -1., -2.),
));
let color = Color::BLUE;
scenes::setup_portal_cube_face(&mut commands, spawn_portal_dir, spawn_portal_up, main_camera, render_layer, portal_mesh.clone(), true);
scenes::setup_scene_test(&mut commands, spawn_portal_dir, spawn_portal_up, render_layer, portal_mesh.clone(),
wall_material.clone(), shape.clone(), debug_material.clone(), color);
scenes::setup_portal_cube_face(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
main_camera,
render_layer,
portal_mesh.clone(),
true,
);
scenes::setup_scene_test(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
render_layer,
portal_mesh.clone(),
wall_material.clone(),
shape.clone(),
debug_material.clone(),
color,
);

// Right scene
let spawn_portal_dir = Vec3::X;
let spawn_portal_up = Vec3::Y;
let render_layer = RenderLayers::layer(3);
let shape = meshes.add(Capsule3d::new(3., 3.));
let color = Color::GREEN;
scenes::setup_portal_cube_face(&mut commands, spawn_portal_dir, spawn_portal_up, main_camera, render_layer, portal_mesh.clone(), true);
scenes::setup_scene_test(&mut commands, spawn_portal_dir, spawn_portal_up, render_layer, portal_mesh.clone(),
wall_material.clone(), shape.clone(), debug_material.clone(), color);
scenes::setup_portal_cube_face(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
main_camera,
render_layer,
portal_mesh.clone(),
true,
);
scenes::setup_scene_test(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
render_layer,
portal_mesh.clone(),
wall_material.clone(),
shape.clone(),
debug_material.clone(),
color,
);

// Left scene
let spawn_portal_dir = -Vec3::X;
let spawn_portal_up = Vec3::Y;
let render_layer = RenderLayers::layer(4);
let shape = meshes.add(Capsule3d::new(3., 3.));
let color = Color::FUCHSIA;
scenes::setup_portal_cube_face(&mut commands, spawn_portal_dir, spawn_portal_up, main_camera, render_layer, portal_mesh.clone(), false);
scenes::setup_scene_test(&mut commands, spawn_portal_dir, spawn_portal_up, render_layer, portal_mesh.clone(),
wall_material.clone(), shape.clone(), debug_material.clone(), color);
scenes::setup_portal_cube_face(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
main_camera,
render_layer,
portal_mesh.clone(),
false,
);
scenes::setup_scene_test(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
render_layer,
portal_mesh.clone(),
wall_material.clone(),
shape.clone(),
debug_material.clone(),
color,
);

// Up scene
let spawn_portal_dir = Vec3::Y;
let spawn_portal_up = -Vec3::Z;
let render_layer = RenderLayers::layer(5);
let shape = meshes.add(Cuboid::new(5., 5., 5.));
let color = Color::RED;
scenes::setup_portal_cube_face(&mut commands, spawn_portal_dir, spawn_portal_up, main_camera, render_layer, portal_mesh.clone(), false);
scenes::setup_scene_test(&mut commands, spawn_portal_dir, spawn_portal_up, render_layer, portal_mesh.clone(),
wall_material.clone(), shape.clone(), debug_material.clone(), color);
scenes::setup_portal_cube_face(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
main_camera,
render_layer,
portal_mesh.clone(),
false,
);
scenes::setup_scene_test(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
render_layer,
portal_mesh.clone(),
wall_material.clone(),
shape.clone(),
debug_material.clone(),
color,
);

// Down scene
let spawn_portal_dir = -Vec3::Y;
let spawn_portal_up = -Vec3::Z;
let render_layer = RenderLayers::layer(6);
let shape = meshes.add(Torus::new(2.5, 3.5));
let color = Color::CYAN;
scenes::setup_portal_cube_face(&mut commands, spawn_portal_dir, spawn_portal_up, main_camera, render_layer, portal_mesh.clone(), false);
scenes::setup_scene_test(&mut commands, spawn_portal_dir, spawn_portal_up, render_layer, portal_mesh.clone(),
wall_material.clone(), shape.clone(), debug_material.clone(), color);
}
scenes::setup_portal_cube_face(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
main_camera,
render_layer,
portal_mesh.clone(),
false,
);
scenes::setup_scene_test(
&mut commands,
spawn_portal_dir,
spawn_portal_up,
render_layer,
portal_mesh.clone(),
wall_material.clone(),
shape.clone(),
debug_material.clone(),
color,
);
}
Loading

0 comments on commit df6f968

Please sign in to comment.