engine/examples/free_space/src/main.rs

45 lines
1.1 KiB
Rust
Raw Normal View History

2025-03-11 12:49:23 +00:00
mod game;
mod game_state;
use std::path::Path;
use anyhow::Result;
use ecs::*;
use engine::prelude::*;
use game::Game;
use game_state::GameState;
use skybox::SkyBox;
fn main() -> Result<()> {
let mut world_builder = World::builder();
Engine::new::<GameState>(EngineCreateInfo::default(), &mut world_builder)?;
world_builder.add_system(GameState::update);
world_builder.resources.insert(GameState::default());
// let dir = Path::new("C:/Users/M.Huebner/Downloads/skybox");
let dir = Path::new("/home/michaelh/Sync/skybox");
SkyBox::new(
&mut world_builder,
[
dir.join("left.png"),
dir.join("right.png"),
dir.join("front.png"),
dir.join("back.png"),
dir.join("top.png"),
dir.join("bottom.png"),
]
.into_iter(),
)?;
let view = world_builder.resources.get_mut::<Scene>().view_mut();
let camera_control = FreeCameraControl::new(view)?;
world_builder.resources.insert(camera_control);
Game::setup_updates(&mut world_builder)?;
world_builder.build().run()
}