mill_game/src/main.rs

46 lines
1.2 KiB
Rust
Raw Normal View History

2023-05-08 18:56:50 +00:00
mod board;
mod game;
2023-05-09 14:39:53 +00:00
mod objects;
2023-05-09 16:58:07 +00:00
mod simple_ai;
2023-05-08 18:56:50 +00:00
use anyhow::Result;
2023-05-08 19:24:12 +00:00
use assetpath::AssetPath;
2023-05-08 18:56:50 +00:00
use engine::prelude::*;
use game::MillGame;
fn main() -> Result<()> {
2025-03-25 11:07:45 +00:00
let mut world_builder = World::builder();
2025-03-25 11:39:50 +00:00
create_engine(&mut world_builder)?;
world_builder.add_system(MillGame::update);
2025-03-25 11:07:45 +00:00
world_builder.build().run()
}
fn create_engine(world_builder: &mut WorldBuilder) -> Result<()> {
2023-05-08 18:56:50 +00:00
let mut create_info = EngineCreateInfo::default();
2023-05-08 19:24:12 +00:00
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 =
2025-03-25 11:07:45 +00:00
AssetPath::from((create_info.resource_base_path.as_str(), "")).into();
2023-05-08 19:24:12 +00:00
create_info.graphics_info.render_scale = 1.0;
2023-05-09 16:58:07 +00:00
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;
2023-05-08 19:24:12 +00:00
create_info.window_info.height = 600;
create_info.window_info.width = 800;
2023-05-08 18:56:50 +00:00
2023-05-09 14:39:53 +00:00
create_info.enable_keyboard = true;
create_info.enable_mouse = true;
2025-03-25 11:39:50 +00:00
let engine = Engine::new::<MillGame>(create_info, world_builder)?;
2023-05-08 18:56:50 +00:00
2025-03-25 11:07:45 +00:00
Ok(())
2023-05-08 18:56:50 +00:00
}