Merge branch 'lunex'
This commit is contained in:
185
Cargo.lock
generated
185
Cargo.lock
generated
@@ -745,6 +745,30 @@ dependencies = [
|
|||||||
"encase_derive_impl",
|
"encase_derive_impl",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_eventlistener"
|
||||||
|
version = "0.8.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "63aff74ac1477b88b57ff2f82fc711a7931414be7ee7d0e96aeea45b6d4a7cb6"
|
||||||
|
dependencies = [
|
||||||
|
"bevy_app",
|
||||||
|
"bevy_ecs",
|
||||||
|
"bevy_eventlistener_derive",
|
||||||
|
"bevy_hierarchy",
|
||||||
|
"bevy_utils",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_eventlistener_derive"
|
||||||
|
version = "0.8.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3fc779559aa23b81da2b14fba90586755d225983c5b6d3154658e42fc088de7f"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2 1.0.86",
|
||||||
|
"quote 1.0.36",
|
||||||
|
"syn 2.0.70",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bevy_gilrs"
|
name = "bevy_gilrs"
|
||||||
version = "0.14.2"
|
version = "0.14.2"
|
||||||
@@ -913,6 +937,18 @@ dependencies = [
|
|||||||
"tracing-wasm",
|
"tracing-wasm",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_lunex"
|
||||||
|
version = "0.2.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "32e2bb6bf7507c23bb69edf4f045312448b8dbba73b85dda58e9178255ece099"
|
||||||
|
dependencies = [
|
||||||
|
"bevy",
|
||||||
|
"bevy_mod_picking",
|
||||||
|
"colored",
|
||||||
|
"lunex_engine",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bevy_macro_utils"
|
name = "bevy_macro_utils"
|
||||||
version = "0.14.2"
|
version = "0.14.2"
|
||||||
@@ -948,6 +984,48 @@ dependencies = [
|
|||||||
"glam",
|
"glam",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_mod_picking"
|
||||||
|
version = "0.20.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e290b8ad3e72dc621da7a9c21129da10540d78290ef8857353190e0213cac692"
|
||||||
|
dependencies = [
|
||||||
|
"bevy_app",
|
||||||
|
"bevy_core",
|
||||||
|
"bevy_ecs",
|
||||||
|
"bevy_eventlistener",
|
||||||
|
"bevy_math",
|
||||||
|
"bevy_picking_core",
|
||||||
|
"bevy_picking_highlight",
|
||||||
|
"bevy_picking_input",
|
||||||
|
"bevy_picking_raycast",
|
||||||
|
"bevy_picking_selection",
|
||||||
|
"bevy_reflect",
|
||||||
|
"bevy_render",
|
||||||
|
"bevy_utils",
|
||||||
|
"bevy_window",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_mod_raycast"
|
||||||
|
version = "0.18.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d9e4ff45885c4716771a9f55977d8ce69596502a5241da55bf608d7cd71a9cb3"
|
||||||
|
dependencies = [
|
||||||
|
"bevy_app",
|
||||||
|
"bevy_asset",
|
||||||
|
"bevy_color",
|
||||||
|
"bevy_derive",
|
||||||
|
"bevy_ecs",
|
||||||
|
"bevy_math",
|
||||||
|
"bevy_reflect",
|
||||||
|
"bevy_render",
|
||||||
|
"bevy_transform",
|
||||||
|
"bevy_utils",
|
||||||
|
"bevy_window",
|
||||||
|
"crossbeam-channel",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bevy_pbr"
|
name = "bevy_pbr"
|
||||||
version = "0.14.2"
|
version = "0.14.2"
|
||||||
@@ -975,6 +1053,90 @@ dependencies = [
|
|||||||
"static_assertions",
|
"static_assertions",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_picking_core"
|
||||||
|
version = "0.20.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "020b6cf6079927a1e6a3dd883986546632d8d09ab77840997f4936a74eade722"
|
||||||
|
dependencies = [
|
||||||
|
"bevy_app",
|
||||||
|
"bevy_derive",
|
||||||
|
"bevy_ecs",
|
||||||
|
"bevy_eventlistener",
|
||||||
|
"bevy_math",
|
||||||
|
"bevy_reflect",
|
||||||
|
"bevy_render",
|
||||||
|
"bevy_transform",
|
||||||
|
"bevy_utils",
|
||||||
|
"bevy_window",
|
||||||
|
"uuid",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_picking_highlight"
|
||||||
|
version = "0.20.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8ba45161608da1bb58cbc55fd83cf5e529e616a180778c394733c85056cd2b76"
|
||||||
|
dependencies = [
|
||||||
|
"bevy_app",
|
||||||
|
"bevy_asset",
|
||||||
|
"bevy_color",
|
||||||
|
"bevy_ecs",
|
||||||
|
"bevy_picking_core",
|
||||||
|
"bevy_picking_selection",
|
||||||
|
"bevy_reflect",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_picking_input"
|
||||||
|
version = "0.20.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ba8cf67c68a5e150c066366744f9a44006ead9ad280de1c9ca69a6a13c5e283"
|
||||||
|
dependencies = [
|
||||||
|
"bevy_app",
|
||||||
|
"bevy_ecs",
|
||||||
|
"bevy_hierarchy",
|
||||||
|
"bevy_input",
|
||||||
|
"bevy_math",
|
||||||
|
"bevy_picking_core",
|
||||||
|
"bevy_picking_selection",
|
||||||
|
"bevy_reflect",
|
||||||
|
"bevy_render",
|
||||||
|
"bevy_utils",
|
||||||
|
"bevy_window",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_picking_raycast"
|
||||||
|
version = "0.20.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0b024e7b0a6062aafd5daa746e5298a1b726c6409de11e35e0b574b712ebda3d"
|
||||||
|
dependencies = [
|
||||||
|
"bevy_app",
|
||||||
|
"bevy_ecs",
|
||||||
|
"bevy_mod_raycast",
|
||||||
|
"bevy_picking_core",
|
||||||
|
"bevy_reflect",
|
||||||
|
"bevy_render",
|
||||||
|
"bevy_transform",
|
||||||
|
"bevy_window",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_picking_selection"
|
||||||
|
version = "0.20.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bf0769d84e944fbc09b0475f068e5232a8a4be15339796539aecd747413ededd"
|
||||||
|
dependencies = [
|
||||||
|
"bevy_app",
|
||||||
|
"bevy_ecs",
|
||||||
|
"bevy_eventlistener",
|
||||||
|
"bevy_input",
|
||||||
|
"bevy_picking_core",
|
||||||
|
"bevy_reflect",
|
||||||
|
"bevy_utils",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bevy_ptr"
|
name = "bevy_ptr"
|
||||||
version = "0.14.2"
|
version = "0.14.2"
|
||||||
@@ -1608,6 +1770,16 @@ version = "1.1.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
|
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "colored"
|
||||||
|
version = "2.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
|
||||||
|
dependencies = [
|
||||||
|
"lazy_static",
|
||||||
|
"windows-sys 0.48.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "com"
|
name = "com"
|
||||||
version = "0.6.0"
|
version = "0.6.0"
|
||||||
@@ -3079,6 +3251,18 @@ dependencies = [
|
|||||||
"imgref",
|
"imgref",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lunex_engine"
|
||||||
|
version = "0.2.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "64d55d2e631c0eb2d5bc164ca826452f550a57a9b0d8da93e6e5625d23f533bd"
|
||||||
|
dependencies = [
|
||||||
|
"bevy",
|
||||||
|
"colored",
|
||||||
|
"indexmap",
|
||||||
|
"thiserror",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mach2"
|
name = "mach2"
|
||||||
version = "0.4.2"
|
version = "0.4.2"
|
||||||
@@ -3966,6 +4150,7 @@ dependencies = [
|
|||||||
"bevy",
|
"bevy",
|
||||||
"bevy-inspector-egui",
|
"bevy-inspector-egui",
|
||||||
"bevy_asset_loader",
|
"bevy_asset_loader",
|
||||||
|
"bevy_lunex",
|
||||||
"bevy_rapier3d",
|
"bevy_rapier3d",
|
||||||
"buildings",
|
"buildings",
|
||||||
"image 0.25.2",
|
"image 0.25.2",
|
||||||
|
|||||||
@@ -23,6 +23,11 @@ pub struct BuildingAsset {
|
|||||||
pub cost: Vec<ResourceIdentifier>,
|
pub cost: Vec<ResourceIdentifier>,
|
||||||
pub consumption: Vec<ResourceIdentifier>,
|
pub consumption: Vec<ResourceIdentifier>,
|
||||||
pub production: Vec<ResourceIdentifier>,
|
pub production: Vec<ResourceIdentifier>,
|
||||||
|
|
||||||
|
pub health: u32,
|
||||||
|
|
||||||
|
pub building_type: BuildingType,
|
||||||
|
pub animations: Vec<AnimationComponent>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, TypePath)]
|
#[derive(Serialize, Deserialize, Debug, TypePath)]
|
||||||
|
|||||||
6
game/buildings/src/buildings/factory_building.rs
Normal file
6
game/buildings/src/buildings/factory_building.rs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
|
pub struct FactoryBuildingInfo {
|
||||||
|
pub units_to_build: Vec<()>
|
||||||
|
}
|
||||||
8
game/buildings/src/buildings/resource_gathering.rs
Normal file
8
game/buildings/src/buildings/resource_gathering.rs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
use shared::identifiers::ResourceIdentifier;
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
|
pub struct ResourceGatheringBuildingInfo {
|
||||||
|
pub resources_to_gather: Vec<ResourceIdentifier>,
|
||||||
|
pub gather_range: usize,
|
||||||
|
}
|
||||||
9
game/buildings/src/buildings/tech_building.rs
Normal file
9
game/buildings/src/buildings/tech_building.rs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
use shared::{building::BuildingIdentifier, StatusEffect};
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
|
pub struct TechBuildingInfo {
|
||||||
|
pub effect_range: usize,
|
||||||
|
pub buildings_to_unlock: Vec<BuildingIdentifier>,
|
||||||
|
pub buffs: Vec<StatusEffect>,
|
||||||
|
}
|
||||||
@@ -27,6 +27,7 @@ bevy_asset_loader = { version = "0.21.0", features = [
|
|||||||
] }
|
] }
|
||||||
ron = "0.8.1"
|
ron = "0.8.1"
|
||||||
image = "0.25.2"
|
image = "0.25.2"
|
||||||
|
bevy_lunex = "0.2.4"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
tracing = [
|
tracing = [
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ use bevy::core_pipeline::experimental::taa::{TemporalAntiAliasBundle, TemporalAn
|
|||||||
use bevy::core_pipeline::prepass::DepthPrepass;
|
use bevy::core_pipeline::prepass::DepthPrepass;
|
||||||
use bevy::input::mouse::{MouseMotion, MouseScrollUnit, MouseWheel};
|
use bevy::input::mouse::{MouseMotion, MouseScrollUnit, MouseWheel};
|
||||||
use bevy::prelude::*;
|
use bevy::prelude::*;
|
||||||
|
use bevy::render::view::RenderLayers;
|
||||||
use bevy::window::{CursorGrabMode, PrimaryWindow};
|
use bevy::window::{CursorGrabMode, PrimaryWindow};
|
||||||
|
use bevy_lunex::prelude::MainUi;
|
||||||
use shared::sets::GameplaySet;
|
use shared::sets::GameplaySet;
|
||||||
use shared::tags::MainCamera;
|
use shared::tags::MainCamera;
|
||||||
use world_generation::hex_utils::HexCoord;
|
use world_generation::hex_utils::HexCoord;
|
||||||
@@ -59,6 +61,7 @@ fn setup(mut commands: Commands, mut msaa: ResMut<Msaa>) {
|
|||||||
MainCamera,
|
MainCamera,
|
||||||
DepthPrepass,
|
DepthPrepass,
|
||||||
PhosOrbitCamera::default(),
|
PhosOrbitCamera::default(),
|
||||||
|
MainUi,
|
||||||
))
|
))
|
||||||
// .insert(RenderLayers::layer(0))
|
// .insert(RenderLayers::layer(0))
|
||||||
.insert(TemporalAntiAliasBundle::default());
|
.insert(TemporalAntiAliasBundle::default());
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
use std::env;
|
||||||
|
|
||||||
use bevy::pbr::wireframe::WireframePlugin;
|
use bevy::pbr::wireframe::WireframePlugin;
|
||||||
use bevy::prelude::*;
|
use bevy::prelude::*;
|
||||||
use bevy::render::texture::{ImageAddressMode, ImageFilterMode, ImageSamplerDescriptor};
|
use bevy::render::texture::{ImageAddressMode, ImageFilterMode, ImageSamplerDescriptor};
|
||||||
@@ -10,8 +12,8 @@ mod map_rendering;
|
|||||||
mod phos;
|
mod phos;
|
||||||
mod prelude;
|
mod prelude;
|
||||||
mod shader_extensions;
|
mod shader_extensions;
|
||||||
mod utlis;
|
|
||||||
mod ui;
|
mod ui;
|
||||||
|
mod utlis;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
App::new()
|
App::new()
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
use crate::camera_system::components::PhosCamera;
|
use crate::camera_system::components::PhosCamera;
|
||||||
use crate::map_rendering::map_init::MapInitPlugin;
|
use crate::map_rendering::map_init::MapInitPlugin;
|
||||||
use crate::map_rendering::render_distance_system::RenderDistancePlugin;
|
use crate::map_rendering::render_distance_system::RenderDistancePlugin;
|
||||||
|
use crate::ui::game::build_ui::BuildUiPlugin;
|
||||||
use crate::utlis::editor_plugin::EditorPlugin;
|
use crate::utlis::editor_plugin::EditorPlugin;
|
||||||
use crate::utlis::tile_selection_plugin::TileSelectionPlugin;
|
use crate::utlis::tile_selection_plugin::TileSelectionPlugin;
|
||||||
use crate::{camera_system::camera_plugin::PhosCameraPlugin, utlis::debug_plugin::DebugPlugin};
|
use crate::{camera_system::camera_plugin::PhosCameraPlugin, utlis::debug_plugin::DebugPlugin};
|
||||||
|
|||||||
@@ -1,11 +1,54 @@
|
|||||||
use bevy::prelude::*;
|
use bevy::{prelude::*, render::view::RenderLayers};
|
||||||
|
use bevy_lunex::prelude::*;
|
||||||
|
use shared::tags::MainCamera;
|
||||||
|
|
||||||
pub struct BuildUiPlugin;
|
pub struct BuildUiPlugin;
|
||||||
|
|
||||||
impl Plugin for BuildUiPlugin {
|
impl Plugin for BuildUiPlugin {
|
||||||
fn build(&self, app: &mut App) {
|
fn build(&self, app: &mut App) {
|
||||||
app.add_systems(PostStartup, setup);
|
// app.add_plugins(UiDefaultPlugins)
|
||||||
|
// .add_plugins(UiDebugPlugin::<MainUi>::new());
|
||||||
|
|
||||||
|
app.add_systems(PostStartup, setup_ui);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn setup(mut commands: Commands) {}
|
fn setup_ui(mut commands: Commands, assets: Res<AssetServer>) {
|
||||||
|
commands
|
||||||
|
.spawn((
|
||||||
|
Camera2dBundle {
|
||||||
|
transform: Transform::from_xyz(0.0, 0.0, 1000.0),
|
||||||
|
..default()
|
||||||
|
},
|
||||||
|
MainUi,
|
||||||
|
))
|
||||||
|
.insert(RenderLayers::layer(1));
|
||||||
|
|
||||||
|
commands
|
||||||
|
.spawn((
|
||||||
|
UiTreeBundle::<MainUi> {
|
||||||
|
tree: UiTree::new2d("BuildUi"),
|
||||||
|
..default()
|
||||||
|
},
|
||||||
|
Name::new("Build UI"),
|
||||||
|
SourceFromCamera,
|
||||||
|
RenderLayers::layer(1),
|
||||||
|
))
|
||||||
|
.with_children(|ui| {
|
||||||
|
ui.spawn((
|
||||||
|
UiLink::<MainUi>::path("Root"),
|
||||||
|
UiLayout::boundary()
|
||||||
|
.pos1(Ab(20.0))
|
||||||
|
.pos2(Rl(100.0) - Ab(20.0))
|
||||||
|
.pack::<Base>(),
|
||||||
|
RenderLayers::layer(1),
|
||||||
|
));
|
||||||
|
|
||||||
|
ui.spawn((
|
||||||
|
UiLink::<MainUi>::path("Root/Rect"),
|
||||||
|
UiLayout::solid().size((Ab(1920.0), Ab(1080.0))).pack::<Base>(),
|
||||||
|
UiImage2dBundle::from(assets.load("textures/world/test2.png")),
|
||||||
|
RenderLayers::layer(1),
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,2 +1 @@
|
|||||||
|
|
||||||
pub mod build_ui;
|
pub mod build_ui;
|
||||||
@@ -1,2 +1 @@
|
|||||||
|
|
||||||
pub mod game;
|
pub mod game;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
use bevy::reflect::Reflect;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
#[derive(Default, PartialEq, Eq, Serialize, Deserialize)]
|
#[derive(Default, Reflect, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
pub struct BuildingIdentifier(pub usize);
|
pub struct BuildingIdentifier(pub usize);
|
||||||
|
|
||||||
impl From<i32> for BuildingIdentifier {
|
impl From<i32> for BuildingIdentifier {
|
||||||
|
|||||||
@@ -1,9 +1,15 @@
|
|||||||
use bevy::prelude::Resource;
|
use bevy::reflect::Reflect;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use world_generation::hex_utils::HexCoord;
|
use world_generation::hex_utils::HexCoord;
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug, Reflect)]
|
||||||
pub struct ResourceIdentifier {
|
pub struct ResourceIdentifier {
|
||||||
pub id: u32,
|
pub id: u32,
|
||||||
pub qty: u32,
|
pub qty: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Reflect)]
|
||||||
|
pub struct UnitIdentifier(u32);
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Reflect)]
|
||||||
|
pub struct TileIdentifier(u32);
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
use bevy::reflect::Reflect;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
pub mod building;
|
pub mod building;
|
||||||
@@ -17,3 +18,17 @@ pub enum Tier {
|
|||||||
Three,
|
Three,
|
||||||
Superior,
|
Superior,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Reflect)]
|
||||||
|
pub enum StatusEffect {
|
||||||
|
UnitRange(f32),
|
||||||
|
UnitAttack(f32),
|
||||||
|
UnitHealth(f32),
|
||||||
|
StructureRange(f32),
|
||||||
|
StructureAttack(f32),
|
||||||
|
StructureHealth(f32),
|
||||||
|
BuildSpeedMulti(f32),
|
||||||
|
BuildCostMulti(f32),
|
||||||
|
ConsumptionMulti(f32),
|
||||||
|
ProductionMulti(f32),
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
use bevy::reflect::Reflect;
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
pub mod assets;
|
pub mod assets;
|
||||||
pub mod components;
|
pub mod components;
|
||||||
|
|||||||
Reference in New Issue
Block a user