pub(crate) mod animation;
pub(crate) mod audio;
pub(crate) mod basic_components;
pub(crate) mod camera;
pub(crate) mod character_asset;
pub(crate) mod collision;
pub mod danmaku;
pub(crate) mod data;
pub(crate) mod input;
pub mod item;
pub mod mod_system;
pub mod player_components;
pub mod render_layers;
pub mod ron_loader;
pub mod save;
pub mod sprite;
pub(crate) mod ui;
use crate::extra;
use bevy::app::*;
use bevy::asset::AssetApp;
pub(crate) struct CorePlugin;
impl Plugin for CorePlugin {
fn build(&self, app: &mut App) {
app.init_resource::<extra::toml::config::TomlConfigRegistry>()
.init_asset::<character_asset::CharacterAsset>()
.init_asset::<character_asset::AnimationConfigAsset>()
.register_asset_loader(
ron_loader::RonAssetLoader::<character_asset::CharacterAsset>::new(&[
"character.ron",
]),
)
.register_asset_loader(ron_loader::RonAssetLoader::<
character_asset::AnimationConfigAsset,
>::new(&["animation.ron"]))
.add_plugins((
animation::AnimationPlugin,
audio::AudioPlugin,
camera::CameraPlugin,
collision::CollisionPlugin,
danmaku::CoreDanmakuPlugin,
data::DataPlugin,
input::InputPlugin,
item::ItemPlugin,
save::SavePlugin,
sprite::SpritePlugin,
));
}
}
pub(crate) struct GlobalPlugin;
impl Plugin for GlobalPlugin {
fn build(&self, _app: &mut App) {
}
}