diff --git a/game/buildings/src/assets/building_asset.rs b/game/buildings/src/assets/building_asset.rs index 5aea700..a433dc3 100644 --- a/game/buildings/src/assets/building_asset.rs +++ b/game/buildings/src/assets/building_asset.rs @@ -3,7 +3,13 @@ use bevy::prelude::*; use serde::{Deserialize, Serialize}; use shared::identifiers::ResourceIdentifier; -use crate::footprint::BuildingFootprint; +use crate::{ + buildings::{ + basic_building::BasicBuildingInfo, conduit_building::ResourceConduitInfo, + factory_building::FactoryBuildingInfo, resource_gathering::ResourceGatheringBuildingInfo, + }, + footprint::BuildingFootprint, +}; #[derive(Asset, TypePath, Debug, Serialize, Deserialize)] pub struct BuildingAsset { @@ -19,6 +25,19 @@ pub struct BuildingAsset { pub production: Vec, } +#[derive(Serialize, Deserialize, Debug, TypePath)] +pub enum BuildingType { + Basic, + Gathering(ResourceGatheringBuildingInfo), + FactoryBuildingInfo(FactoryBuildingInfo), + ResourceConduit(ResourceConduitInfo), +} + +#[derive(Serialize, Deserialize, Debug, Reflect)] +pub enum AnimationComponent { + Rotation, + Slider, +} create_asset_loader!( BuildingAssetPlugin, BuildingAssetLoader, diff --git a/game/buildings/src/buildings/basic_building.rs b/game/buildings/src/buildings/basic_building.rs new file mode 100644 index 0000000..1b435f9 --- /dev/null +++ b/game/buildings/src/buildings/basic_building.rs @@ -0,0 +1,3 @@ +use serde::{Deserialize, Serialize}; +#[derive(Serialize, Deserialize, Debug)] +pub struct BasicBuildingInfo {} diff --git a/game/buildings/src/buildings/conduit_building.rs b/game/buildings/src/buildings/conduit_building.rs new file mode 100644 index 0000000..c78b428 --- /dev/null +++ b/game/buildings/src/buildings/conduit_building.rs @@ -0,0 +1,6 @@ +use serde::{Deserialize, Serialize}; +#[derive(Serialize, Deserialize, Debug)] +pub struct ResourceConduitInfo { + pub range: usize, + pub connection_range: usize, +} diff --git a/game/buildings/src/buildings/mod.rs b/game/buildings/src/buildings/mod.rs new file mode 100644 index 0000000..b49deb8 --- /dev/null +++ b/game/buildings/src/buildings/mod.rs @@ -0,0 +1,5 @@ +pub mod resource_gathering; +pub mod basic_building; +pub mod factory_building; +pub mod tech_building; +pub mod conduit_building; diff --git a/game/main/assets b/game/main/assets index 4082df1..7fa3e1f 160000 --- a/game/main/assets +++ b/game/main/assets @@ -1 +1 @@ -Subproject commit 4082df18e0ce89bab1ab7f2f1b0de11125cfc697 +Subproject commit 7fa3e1fc9cea4ec2232ee86edb4eb62ecde604fe diff --git a/game/main/src/camera_system/camera_plugin.rs b/game/main/src/camera_system/camera_plugin.rs index e3bb960..8c1a19e 100644 --- a/game/main/src/camera_system/camera_plugin.rs +++ b/game/main/src/camera_system/camera_plugin.rs @@ -60,6 +60,7 @@ fn setup(mut commands: Commands, mut msaa: ResMut) { DepthPrepass, PhosOrbitCamera::default(), )) + // .insert(RenderLayers::layer(0)) .insert(TemporalAntiAliasBundle::default()); *msaa = Msaa::Off; diff --git a/game/main/src/phos.rs b/game/main/src/phos.rs index b9b66ac..82171c6 100644 --- a/game/main/src/phos.rs +++ b/game/main/src/phos.rs @@ -37,6 +37,7 @@ impl Plugin for PhosGamePlugin { MapInitPlugin, RenderDistancePlugin, BuildingPugin, + // BuildUiPlugin, UnitsPlugin, DespawnPuglin, TileSelectionPlugin,