lunex testing

This commit is contained in:
2024-11-06 22:42:25 -05:00
parent c315c206f4
commit c5a3d1c401
7 changed files with 237 additions and 0 deletions

185
Cargo.lock generated
View File

@@ -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",

View File

@@ -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 = [

View File

@@ -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,6 +12,7 @@ mod map_rendering;
mod phos; mod phos;
mod prelude; mod prelude;
mod shader_extensions; mod shader_extensions;
mod ui;
mod utlis; mod utlis;
fn main() { fn main() {

View File

@@ -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};
@@ -37,6 +38,7 @@ impl Plugin for PhosGamePlugin {
MapInitPlugin, MapInitPlugin,
RenderDistancePlugin, RenderDistancePlugin,
BuildingPugin, BuildingPugin,
BuildUiPlugin,
UnitsPlugin, UnitsPlugin,
DespawnPuglin, DespawnPuglin,
TileSelectionPlugin, TileSelectionPlugin,

View File

@@ -0,0 +1,44 @@
use bevy::prelude::*;
use bevy_lunex::prelude::*;
use shared::tags::MainCamera;
pub struct BuildUiPlugin;
impl Plugin for BuildUiPlugin {
fn build(&self, app: &mut App) {
app.add_plugins(UiDefaultPlugins)
.add_plugins(UiDebugPlugin::<MainUi>::new());
app.add_systems(PostStartup, setup_ui);
}
}
fn setup_ui(mut commands: Commands, cam: Query<Entity, With<MainCamera>>, assets: Res<AssetServer>) {
let c = cam.single();
commands.entity(c).insert(MainUi);
commands
.spawn((
UiTreeBundle::<MainUi> {
tree: UiTree::new2d("BuildUi"),
..default()
},
Name::new("Build UI"),
SourceFromCamera,
))
.with_children(|ui| {
ui.spawn((
UiLink::<MainUi>::path("Root"),
UiLayout::boundary()
.pos1(Ab(20.0))
.pos2(Rl(100.0) - Ab(20.0))
.pack::<Base>(),
));
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")),
));
});
}

View File

@@ -0,0 +1 @@
pub mod build_ui;

1
game/main/src/ui/mod.rs Normal file
View File

@@ -0,0 +1 @@
pub mod game;