45 lines
1.2 KiB
Rust
45 lines
1.2 KiB
Rust
mod board;
|
|
mod game;
|
|
mod objects;
|
|
mod simple_ai;
|
|
|
|
use anyhow::Result;
|
|
use assetpath::AssetPath;
|
|
use engine::prelude::*;
|
|
use game::MillGame;
|
|
|
|
fn main() -> Result<()> {
|
|
let mut world_builder = World::builder();
|
|
|
|
create_engine(&mut world_builder)?;
|
|
world_builder.add_system(MillGame::update);
|
|
|
|
world_builder.build().run()
|
|
}
|
|
|
|
fn create_engine(world_builder: &mut WorldBuilder) -> Result<()> {
|
|
let mut create_info = EngineCreateInfo::default();
|
|
|
|
create_info.resource_base_path = "resources".to_string();
|
|
|
|
create_info.gui_info.font = Font::Path(AssetPath::from(("resources", "ExportedFont.png")));
|
|
create_info.gui_info.resource_directory =
|
|
AssetPath::from((create_info.resource_base_path.as_str(), "")).into();
|
|
|
|
create_info.graphics_info.render_scale = 1.0;
|
|
create_info.graphics_info.vsync = true;
|
|
create_info.graphics_info.sample_count = VK_SAMPLE_COUNT_4_BIT;
|
|
|
|
create_info.rasterizer_info.enable_lighting = true;
|
|
create_info.rasterizer_info.shadow_image_size = 512;
|
|
|
|
create_info.window_info.height = 600;
|
|
create_info.window_info.width = 800;
|
|
|
|
create_info.enable_keyboard = true;
|
|
create_info.enable_mouse = true;
|
|
|
|
let engine = Engine::new::<MillGame>(create_info, world_builder)?;
|
|
|
|
Ok(())
|
|
}
|