use bevy::asset::Asset; use bevy::prelude::TypePath; use serde::Deserialize; #[derive(Deserialize, Asset, TypePath, Clone)] pub struct GlobalWorldConfig { pub world: WorldConfig, pub part: WPartConfig, pub hearty: HeartyConfig, } #[derive(Deserialize, Asset, TypePath, Clone)] pub struct WorldConfig { pub gravity: f32, pub spawn_parts_at: String, pub spawn_parts_interval_secs: f32, } #[derive(Deserialize, Asset, TypePath, Clone, Debug)] pub struct WPartConfig { pub default_width: f32, pub default_height: f32, pub default_mass: f32, } #[derive(Deserialize, Asset, TypePath, Clone)] pub struct HeartyConfig { pub thrust: f32, pub spawn_at: String, }