Skip to content
Snippets Groups Projects
main.rs 1.14 KiB
Newer Older
#![windows_subsystem = "windows"]

Louis's avatar
Louis committed
use bevy::prelude::*;
use game_core::assets::AssetHandles;
use game_core::system::flow::AppState;
use iyes_loopless::prelude::AppLooplessStateExt;

fn main() {
Louis's avatar
Louis committed
	let options = game_core::persistance::fs_utils::read_config_file();

Louis's avatar
Louis committed
	App::new()
		.add_loopless_state(AppState::Preload)
		.add_plugins(game_core::system::resources::InitAppPlugins)
Louis's avatar
Louis committed
		.add_plugin(game_core::assets::AssetsPlugin)
		.add_plugins(micro_musicbox::CombinedAudioPlugins::<AssetHandles>::new())
Louis's avatar
Louis committed
		.add_plugin(game_core::splash_screen::SplashScreenPlugin)
		.add_plugin(game_core::system::camera::CameraManagementPlugin)
Louis's avatar
Louis committed
		.add_plugin(game_core::states::StatesPlugin)
		.add_plugin(micro_asset_io::MicroAssetIOPlugin)
		.add_plugin(bevy_tweening::TweeningPlugin)
Louis's avatar
Louis committed
		.add_plugin(game_core::world::WorldPlugin)
		.add_plugin(bevy_ecs_tilemap::TilemapPlugin)
Louis's avatar
Louis committed
		.add_plugins(micro_banimate::BanimatePluginGroup)
		.add_plugins(game_core::ui::AdventUIPlugins)
Louis's avatar
Louis committed
		.add_plugin(game_core::persistance::PersistencePlugin)
		.add_plugin(bevy_prototype_lyon::plugin::ShapePlugin)
Louis's avatar
Louis committed
		.insert_resource(options.map(|opts| opts.audio.clone()).unwrap_or_default())
Louis's avatar
Louis committed
		.run();
}