summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.rs17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index b776141..faf38b3 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -17,16 +17,17 @@ use engine::color::{Color, Rgb};
use engine::data_types::dimens::Dimens3;
use engine::ecs::actions::Actions;
use engine::ecs::error::Context as _;
+use engine::ecs::pair::ChildOf;
use engine::ecs::phase::START as START_PHASE;
use engine::ecs::query::term::With;
use engine::ecs::sole::Single;
use engine::ecs::system::initializable::Initializable;
use engine::ecs::system::Into;
-use engine::ecs::Query;
+use engine::ecs::{Query, pair};
use engine::image::{Format as ImageFormat, Image};
use engine::input::keyboard::Keyboard;
use engine::input::Extension as InputExtension;
-use engine::lighting::{AttenuationParams, GlobalLight, PointLight};
+use engine::lighting::{AttenuationParams, PointLight};
use engine::material::{Flags as MaterialFlags, Material};
use engine::mesh::cube::{
create as cube_mesh_create,
@@ -38,6 +39,7 @@ use engine::rendering::{
GraphicsProperties,
TargetWindow as RenderingTargetWindow,
};
+use engine::scene::{Active as ActiveScene, Scene};
use engine::transform::WorldPosition;
use engine::ui::dear_imgui::{
Context as DearImguiContext,
@@ -98,8 +100,6 @@ impl engine::ecs::extension::Extension for Application
{
fn collect(self, mut collector: engine::ecs::extension::Collector<'_>)
{
- let _ = collector.add_sole(GlobalLight::default());
-
collector.add_system(*START_PHASE, init);
collector.add_system(*engine::ecs::phase::UPDATE, toggle_ui);
@@ -136,6 +136,11 @@ fn init(mut assets: Single<Assets>, mut actions: Actions) -> Result<(), EngineEr
),
);
+ let scene_ent_id = actions.spawn_named(
+ "Scene",
+ (Scene, ActiveScene)
+ );
+
actions.spawn_named(
"Main camera",
(
@@ -145,6 +150,7 @@ fn init(mut assets: Single<Assets>, mut actions: Actions) -> Result<(), EngineEr
},
ActiveCamera,
FlyCamera::default(),
+ pair!(ChildOf, { scene_ent_id })
),
);
@@ -183,6 +189,7 @@ fn init(mut assets: Single<Assets>, mut actions: Actions) -> Result<(), EngineEr
.build()
})),
MaterialFlags::builder().use_ambient_color(true).build(),
+ pair!(ChildOf, { scene_ent_id })
),
);
@@ -193,6 +200,7 @@ fn init(mut assets: Single<Assets>, mut actions: Actions) -> Result<(), EngineEr
assets.load::<ModelSpec>(Path::new(RESOURCE_DIR).join("teapot.obj")),
),
WorldPosition::from(Vec3 { x: 1.6, y: 0.0, z: 0.0 }),
+ pair!(ChildOf, { scene_ent_id })
),
);
@@ -262,3 +270,4 @@ fn toggle_ui(
Ok(())
}
+