messing arround with asset loader
Need to figure out dynamic assets Need to switch to ron files
This commit is contained in:
@@ -1,44 +1,10 @@
|
||||
use asset_loader::create_asset_loader;
|
||||
use bevy::prelude::*;
|
||||
use bevy::{asset::Asset, reflect::TypePath, render::render_resource::encase::rts_array::Length};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{biome_asset::BiomeAsset, map::biome_map::BiomeData};
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, TypePath, Asset, Clone)]
|
||||
pub struct BiomePainterAsset {
|
||||
#[serde(skip)]
|
||||
pub biomes: Vec<Handle<BiomeAsset>>,
|
||||
pub biomes_path: Vec<String>,
|
||||
}
|
||||
|
||||
impl BiomePainterAsset {
|
||||
pub fn sample_biome(&self, assets: &Assets<BiomeAsset>, data: &BiomeData) -> AssetId<BiomeAsset> {
|
||||
assert!(self.biomes.length() != 0, "There are no biomes");
|
||||
let mut biome = self.biomes.first().unwrap().id();
|
||||
let mut dist = f32::INFINITY;
|
||||
|
||||
for b in &self.biomes {
|
||||
let asset = assets.get(b.id()).unwrap();
|
||||
let d = asset.distance(data.into());
|
||||
if d < dist {
|
||||
biome = b.id();
|
||||
dist = d;
|
||||
}
|
||||
}
|
||||
|
||||
return biome;
|
||||
}
|
||||
|
||||
pub fn build(&self, assets: &Assets<BiomeAsset>) -> BiomePainter {
|
||||
let mut biomes = Vec::with_capacity(self.biomes.len());
|
||||
for b in &self.biomes {
|
||||
let asset = assets.get(b.id()).unwrap();
|
||||
biomes.push(asset.clone());
|
||||
}
|
||||
return BiomePainter { biomes };
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Resource)]
|
||||
pub struct BiomePainter {
|
||||
pub biomes: Vec<BiomeAsset>,
|
||||
@@ -78,13 +44,13 @@ impl BiomePainter {
|
||||
}
|
||||
}
|
||||
|
||||
create_asset_loader!(
|
||||
BiomePainterPlugin,
|
||||
BiomePainterLoader,
|
||||
BiomePainterAsset,
|
||||
BiomePainterLoadState,
|
||||
&["bimoes.json"],
|
||||
;
|
||||
biomes_path -> biomes
|
||||
?
|
||||
);
|
||||
// create_asset_loader!(
|
||||
// BiomePainterPlugin,
|
||||
// BiomePainterLoader,
|
||||
// BiomePainterAsset,
|
||||
// BiomePainterLoadState,
|
||||
// &["bimoes.json"],
|
||||
// ;
|
||||
// biomes_path -> biomes
|
||||
// ?
|
||||
// );
|
||||
|
||||
Reference in New Issue
Block a user