This commit is contained in:
artem 2024-02-23 22:31:11 +03:00
parent 9845202780
commit 21e2d1819a
6 changed files with 766 additions and 652 deletions

667
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -5,9 +5,11 @@ resolver = "2"
[workspace.dependencies.fyrox] [workspace.dependencies.fyrox]
git = "https://github.com/FyroxEngine/Fyrox" git = "https://github.com/FyroxEngine/Fyrox"
branch = "0.33.1"
[workspace.dependencies.fyroxed_base] [workspace.dependencies.fyroxed_base]
git = "https://github.com/FyroxEngine/Fyrox" git = "https://github.com/FyroxEngine/Fyrox"
branch = "0.33.1"
# Optimize the engine in debug builds, but leave project's code non-optimized. # Optimize the engine in debug builds, but leave project's code non-optimized.
# By using this technique, you can still debug you code, but engine will be fully # By using this technique, you can still debug you code, but engine will be fully

BIN
data/menu.ui Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +1,10 @@
//! Game project. //! Game project.
use fyrox::{ use fyrox::{
asset::manager::ResourceManager, asset::manager::ResourceManager,
core::pool::Handle, core::{log::Log, pool::Handle},
engine::GraphicsContext, engine::GraphicsContext,
event::{Event, WindowEvent}, event::{Event, WindowEvent},
gui::message::UiMessage, gui::{message::UiMessage, UserInterface},
plugin::{Plugin, PluginConstructor, PluginContext, PluginRegistrationContext}, plugin::{Plugin, PluginConstructor, PluginContext, PluginRegistrationContext},
scene::{ scene::{
graph::Graph, Scene graph::Graph, Scene
@ -48,7 +48,15 @@ impl Game {
context context
.async_scene_loader .async_scene_loader
.request(scene_path.unwrap_or("data/scene.rgs")); .request(scene_path.unwrap_or("data/scene.rgs"));
context.task_pool.spawn_plugin_task(
UserInterface::load_from_file("data/menu.ui", context.resource_manager.clone()),
|result, game: &mut Game, ctx| match result {
Ok(menu) => {
*ctx.user_interface = menu;
}
Err(e) => Log::err(format!("Unable to load main menu! Reason: {:?}", e)),
},
);
Self { Self {
scene: Handle::NONE, scene: Handle::NONE,
} }

View File

@ -314,183 +314,21 @@
), ),
), ),
scene_settings: { scene_settings: {
"data/scene.rgs": ( "./data/menu.ui": (
camera_settings: ( camera_settings: (
position: (6.8261476, -3.0730605, -3.0), position: (0.0, 1.0, 0.0),
yaw: 0.0, yaw: 0.0,
pitch: 0.0, pitch: 0.0,
), ),
node_infos: { node_infos: {
( (
index: 3, index: 8,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 58, index: 11,
generation: 1,
): (
is_expanded: true,
),
(
index: 4,
generation: 1,
): (
is_expanded: true,
),
(
index: 92,
generation: 1,
): (
is_expanded: true,
),
(
index: 36,
generation: 1,
): (
is_expanded: false,
),
(
index: 90,
generation: 1,
): (
is_expanded: false,
),
(
index: 75,
generation: 1,
): (
is_expanded: false,
),
(
index: 9,
generation: 1,
): (
is_expanded: false,
),
(
index: 81,
generation: 1,
): (
is_expanded: false,
),
(
index: 62,
generation: 1,
): (
is_expanded: true,
),
(
index: 27,
generation: 1,
): (
is_expanded: false,
),
(
index: 14,
generation: 1,
): (
is_expanded: true,
),
(
index: 10,
generation: 1,
): (
is_expanded: true,
),
(
index: 13,
generation: 1,
): (
is_expanded: true,
),
(
index: 5,
generation: 1,
): (
is_expanded: true,
),
(
index: 31,
generation: 1,
): (
is_expanded: true,
),
(
index: 95,
generation: 1,
): (
is_expanded: true,
),
(
index: 37,
generation: 1,
): (
is_expanded: false,
),
(
index: 30,
generation: 1,
): (
is_expanded: true,
),
(
index: 29,
generation: 1,
): (
is_expanded: true,
),
(
index: 72,
generation: 1,
): (
is_expanded: false,
),
(
index: 71,
generation: 1,
): (
is_expanded: true,
),
(
index: 46,
generation: 1,
): (
is_expanded: false,
),
(
index: 32,
generation: 1,
): (
is_expanded: true,
),
(
index: 69,
generation: 1,
): (
is_expanded: false,
),
(
index: 89,
generation: 1,
): (
is_expanded: true,
),
(
index: 74,
generation: 1,
): (
is_expanded: true,
),
(
index: 17,
generation: 1,
): (
is_expanded: false,
),
(
index: 20,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
@ -502,17 +340,86 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 24, index: 5,
generation: 1,
): (
is_expanded: true,
),
(
index: 10,
generation: 1,
): (
is_expanded: true,
),
(
index: 9,
generation: 1,
): (
is_expanded: true,
),
},
),
"data/scene.rgs": (
camera_settings: (
position: (6.8261476, -3.0730605, -3.0),
yaw: -0.22992551,
pitch: 0.12792419,
),
node_infos: {
(
index: 47,
generation: 1,
): (
is_expanded: true,
),
(
index: 15,
generation: 1,
): (
is_expanded: true,
),
(
index: 32,
generation: 1,
): (
is_expanded: true,
),
(
index: 77,
generation: 1,
): (
is_expanded: true,
),
(
index: 25,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
), ),
( (
index: 28, index: 5,
generation: 1,
): (
is_expanded: true,
),
(
index: 9,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
), ),
(
index: 66,
generation: 1,
): (
is_expanded: false,
),
(
index: 26,
generation: 1,
): (
is_expanded: true,
),
( (
index: 60, index: 60,
generation: 1, generation: 1,
@ -520,7 +427,91 @@
is_expanded: false, is_expanded: false,
), ),
( (
index: 39, index: 63,
generation: 1,
): (
is_expanded: false,
),
(
index: 49,
generation: 1,
): (
is_expanded: false,
),
(
index: 6,
generation: 1,
): (
is_expanded: true,
),
(
index: 80,
generation: 1,
): (
is_expanded: true,
),
(
index: 59,
generation: 1,
): (
is_expanded: true,
),
(
index: 78,
generation: 1,
): (
is_expanded: false,
),
(
index: 81,
generation: 1,
): (
is_expanded: false,
),
(
index: 4,
generation: 1,
): (
is_expanded: true,
),
(
index: 10,
generation: 1,
): (
is_expanded: true,
),
(
index: 33,
generation: 1,
): (
is_expanded: true,
),
(
index: 1,
generation: 1,
): (
is_expanded: true,
),
(
index: 7,
generation: 1,
): (
is_expanded: true,
),
(
index: 24,
generation: 1,
): (
is_expanded: false,
),
(
index: 58,
generation: 1,
): (
is_expanded: true,
),
(
index: 8,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
@ -531,30 +522,6 @@
): ( ): (
is_expanded: true, is_expanded: true,
), ),
(
index: 45,
generation: 1,
): (
is_expanded: true,
),
(
index: 22,
generation: 1,
): (
is_expanded: false,
),
(
index: 87,
generation: 1,
): (
is_expanded: false,
),
(
index: 83,
generation: 1,
): (
is_expanded: true,
),
( (
index: 50, index: 50,
generation: 1, generation: 1,
@ -568,23 +535,65 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 11, index: 53,
generation: 1,
): (
is_expanded: true,
),
(
index: 27,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
), ),
( (
index: 77, index: 74,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 23, index: 40,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
(
index: 35,
generation: 1,
): (
is_expanded: true,
),
(
index: 65,
generation: 1,
): (
is_expanded: true,
),
(
index: 56,
generation: 1,
): (
is_expanded: true,
),
(
index: 95,
generation: 1,
): (
is_expanded: true,
),
(
index: 84,
generation: 1,
): (
is_expanded: false,
),
(
index: 90,
generation: 1,
): (
is_expanded: false,
),
( (
index: 55, index: 55,
generation: 1, generation: 1,
@ -592,16 +601,28 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 57, index: 71,
generation: 1,
): (
is_expanded: true,
),
(
index: 14,
generation: 1,
): (
is_expanded: true,
),
(
index: 43,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
), ),
( (
index: 66, index: 0,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: true,
), ),
( (
index: 48, index: 48,
@ -609,6 +630,12 @@
): ( ): (
is_expanded: true, is_expanded: true,
), ),
(
index: 18,
generation: 1,
): (
is_expanded: true,
),
( (
index: 38, index: 38,
generation: 1, generation: 1,
@ -621,48 +648,6 @@
): ( ): (
is_expanded: true, is_expanded: true,
), ),
(
index: 40,
generation: 1,
): (
is_expanded: true,
),
(
index: 18,
generation: 1,
): (
is_expanded: true,
),
(
index: 94,
generation: 1,
): (
is_expanded: true,
),
(
index: 56,
generation: 1,
): (
is_expanded: true,
),
(
index: 35,
generation: 1,
): (
is_expanded: true,
),
(
index: 63,
generation: 1,
): (
is_expanded: false,
),
(
index: 33,
generation: 1,
): (
is_expanded: true,
),
( (
index: 93, index: 93,
generation: 1, generation: 1,
@ -670,25 +655,7 @@
is_expanded: false, is_expanded: false,
), ),
( (
index: 78, index: 52,
generation: 1,
): (
is_expanded: false,
),
(
index: 26,
generation: 1,
): (
is_expanded: true,
),
(
index: 16,
generation: 1,
): (
is_expanded: true,
),
(
index: 41,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
@ -700,23 +667,113 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 8, index: 30,
generation: 1,
): (
is_expanded: false,
),
(
index: 2,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
(
index: 41,
generation: 1,
): (
is_expanded: true,
),
(
index: 28,
generation: 1,
): (
is_expanded: false,
),
(
index: 46,
generation: 1,
): (
is_expanded: false,
),
(
index: 23,
generation: 1,
): (
is_expanded: true,
),
(
index: 17,
generation: 1,
): (
is_expanded: false,
),
(
index: 21,
generation: 1,
): (
is_expanded: false,
),
(
index: 20,
generation: 1,
): (
is_expanded: true,
),
(
index: 19,
generation: 1,
): (
is_expanded: false,
),
( (
index: 82, index: 82,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
(
index: 31,
generation: 1,
): (
is_expanded: true,
),
(
index: 39,
generation: 1,
): (
is_expanded: false,
),
(
index: 57,
generation: 1,
): (
is_expanded: false,
),
(
index: 13,
generation: 1,
): (
is_expanded: true,
),
(
index: 69,
generation: 1,
): (
is_expanded: false,
),
(
index: 62,
generation: 1,
): (
is_expanded: true,
),
(
index: 11,
generation: 1,
): (
is_expanded: false,
),
(
index: 83,
generation: 1,
): (
is_expanded: true,
),
( (
index: 91, index: 91,
generation: 1, generation: 1,
@ -724,17 +781,41 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 1, index: 42,
generation: 1,
): (
is_expanded: false,
),
(
index: 22,
generation: 1,
): (
is_expanded: false,
),
(
index: 29,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 80, index: 45,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
(
index: 37,
generation: 1,
): (
is_expanded: false,
),
(
index: 72,
generation: 1,
): (
is_expanded: false,
),
( (
index: 12, index: 12,
generation: 1, generation: 1,
@ -742,17 +823,23 @@
is_expanded: false, is_expanded: false,
), ),
( (
index: 15, index: 89,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 43, index: 75,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
), ),
(
index: 2,
generation: 1,
): (
is_expanded: true,
),
( (
index: 54, index: 54,
generation: 1, generation: 1,
@ -760,25 +847,64 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 21, index: 94,
generation: 1,
): (
is_expanded: false,
),
(
index: 6,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 25, index: 3,
generation: 1,
): (
is_expanded: true,
),
(
index: 87,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
), ),
( (
index: 47, index: 92,
generation: 1,
): (
is_expanded: true,
),
(
index: 16,
generation: 1,
): (
is_expanded: true,
),
(
index: 36,
generation: 1,
): (
is_expanded: false,
),
},
),
"./data/start-game.ui": (
camera_settings: (
position: (0.0, 1.0, 0.0),
yaw: 0.0,
pitch: 0.0,
),
node_infos: {
(
index: 1,
generation: 1,
): (
is_expanded: true,
),
(
index: 4,
generation: 1,
): (
is_expanded: true,
),
(
index: 8,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
@ -790,58 +916,59 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 53, index: 2,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 52, index: 6,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 65, index: 10,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 49, index: 5,
generation: 1,
): (
is_expanded: false,
),
(
index: 19,
generation: 1,
): (
is_expanded: false,
),
(
index: 42,
generation: 1,
): (
is_expanded: false,
),
(
index: 59,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 84, index: 9,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: true,
),
(
index: 3,
generation: 1,
): (
is_expanded: true,
),
(
index: 0,
generation: 1,
): (
is_expanded: true,
),
(
index: 11,
generation: 1,
): (
is_expanded: true,
), ),
}, },
), ),
}, },
recent: ( recent: (
scenes: [ scenes: [
"data/menu.ui",
"data/scene.rgs", "data/scene.rgs",
], ],
), ),