Загрузка данных


// Определение модулей
mod core;
mod worlds;
// mod components;
// mod entities;
// mod items;
// mod objects;

use bevy::{
    window::WindowResolution,
    prelude::*
};

use crate::core::{CorePlugin, app_state::AppState};

// use bevy_kira_audio::prelude::*;


// use systems::{
//     camera::CameraPlugin,
//     interface::UIPlugin,
//     world::WorldSystem,
// };


// mod util;

// use iyes_perf_ui::prelude::*;

fn main() {
    App::new()
        // Init Resources - Установка фонового цвета приложения
        .insert_resource(ClearColor(Color::srgb_u8(31, 31, 31)))
        // ! .init_resource::<Settings>()
        // Инициализация базового плагина, отвечающего за создание окна приложения с определённой конфигурацией
        // Имя окна - SINT-et
        // [Test] Стартовое разрешение окна - 1280 на 720
        // Есть возможность изменения размера окна
        // [Test] Включена Вертикальная синхронизация (у меня 144 герц) [AutoVsync]
        // Установлен nearest фильтр, чтобы спрайты были несглаженные.

        // .register_asset_source("Data", AssetSource::build()
        //     .with_reader(|| Box::new(FileAssetReader::new("Data")))
        // )
        
        .add_plugins((DefaultPlugins
                .set(
                    WindowPlugin {
                        primary_window: Some(Window {
                            title: "SINT-et".to_string(),
                            resolution: WindowResolution::new(1280, 720),
                            resizable: false,
                            present_mode: bevy::window::PresentMode::AutoNoVsync,
                            ..default()
                        }),
                        ..default()
                    }
                )
                .set(ImagePlugin::default_nearest())
                .build(),
                // AudioPlugin
            ))
        //.insert_resource(Msaa::Off)
        // Инициализация основных плагинов приложения
        // Инициализация загрузки ресурсов приложения
        // .add_plugins(ResourcePlugin)
        .add_plugins(CorePlugin)
        //.add_plugins(WorldSystem)
        .run();
}

// #[derive(Component)]
// struct UiInfo;