45 lines
1.1 KiB
Rust
45 lines
1.1 KiB
Rust
|
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()
|
||
|
}
|