fully implement bevy asset loader

This commit is contained in:
2024-07-31 22:54:55 -04:00
parent 601ede338f
commit 3f174d4e2f
15 changed files with 64 additions and 105 deletions

View File

@@ -1,28 +1,11 @@
use asset_loader::create_asset_loader;
use bevy::prelude::Resource;
use serde::{Deserialize, Serialize};
use bevy::{asset::Handle, prelude::Resource};
use super::building_asset::BuildingAsset;
use bevy::prelude::*;
use bevy_asset_loader::prelude::*;
#[derive(Resource)]
pub struct BuildingDatabase{
pub handle: Handle<BuildingDatabaseAsset>
}
#[derive(Serialize, Deserialize, Debug, TypePath, Asset)]
pub struct BuildingDatabaseAsset {
pub hq: u32,
pub buildings_paths: Vec<String>,
#[serde(skip)]
#[derive(Resource, AssetCollection)]
pub struct BuildingDatabase {
#[asset(key = "buildings", collection(typed))]
pub buildings: Vec<Handle<BuildingAsset>>,
}
create_asset_loader!(
BuildingDatabasePlugin,
BuildingDatabaseLoader,
BuildingDatabaseAsset,
BuildingDatabaseState,
&["buildings.db.json"],;
buildings_paths -> buildings
?
);