pass ui handle in Plugin::on_ui_message

This commit is contained in:
Dmitry
2025-09-26 22:45:44 +03:00
parent 58d9e8ee44
commit 0fa623f444
3 changed files with 8 additions and 4 deletions
+1 -1
View File
@@ -2124,7 +2124,7 @@ impl Engine {
};
for plugin in self.plugins.iter_mut() {
plugin.on_ui_message(&mut context, &message);
plugin.on_ui_message(&mut context, &message, ui);
}
}
}
+5 -2
View File
@@ -42,6 +42,7 @@ use crate::{
};
use fyrox_core::define_as_any_trait;
use fyrox_core::visitor::error::VisitError;
use fyrox_ui::UserInterface;
use std::{
ops::{Deref, DerefMut},
path::Path,
@@ -317,12 +318,14 @@ pub trait Plugin: PluginAsAny + Visit + Reflect {
fn on_graphics_context_destroyed(&mut self, #[allow(unused_variables)] context: PluginContext) {
}
/// The method will be called when there is any message from main user interface instance
/// of the engine.
/// The method will be called when there is any message from a user interface (UI) instance
/// of the engine. Use `ui_handle` parameter to find out from which UI the message has come
/// from.
fn on_ui_message(
&mut self,
#[allow(unused_variables)] context: &mut PluginContext,
#[allow(unused_variables)] message: &UiMessage,
#[allow(unused_variables)] ui_handle: Handle<UserInterface>,
) {
}
+2 -1
View File
@@ -159,7 +159,7 @@ dylib-engine = ["fyrox/dylib"]
use fyrox::{
core::pool::Handle, core::visitor::prelude::*, core::reflect::prelude::*,
event::Event,
gui::message::UiMessage,
gui::{message::UiMessage, UserInterface},
plugin::{Plugin, PluginContext, PluginRegistrationContext},
scene::Scene,
};
@@ -205,6 +205,7 @@ impl Plugin for Game {
&mut self,
_context: &mut PluginContext,
_message: &UiMessage,
_ui_handle: Handle<UserInterface>
) {
// Handle UI events here.
}