From fc305b3b02db9f4c6968a96698681a3e732f381a Mon Sep 17 00:00:00 2001 From: Dmitry Stepanov Date: Fri, 26 Jun 2026 21:47:16 +0300 Subject: [PATCH] property editors for kcc --- editor/src/plugins/inspector/editors/mod.rs | 14 ++++++++++++++ fyrox-impl/src/scene/graph/physics/character.rs | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/editor/src/plugins/inspector/editors/mod.rs b/editor/src/plugins/inspector/editors/mod.rs index 35705cab1..269dfa1b7 100644 --- a/editor/src/plugins/inspector/editors/mod.rs +++ b/editor/src/plugins/inspector/editors/mod.rs @@ -199,6 +199,9 @@ use crate::{ selection::SelectionSettings, }, }; +use fyrox::scene::graph::physics::character::{ + CharacterAutostep, CharacterLength, KinematicCharacterController, +}; use fyrox_build_tools::{BuildProfile, CommandDescriptor, EnvironmentVariable}; pub mod animation; @@ -686,6 +689,17 @@ pub fn make_property_editors_container( container.insert(VertexBufferPropertyEditorDefinition); container.insert(TriangleBufferPropertyEditorDefinition); + container.insert(InspectablePropertyEditorDefinition::< + KinematicCharacterController, + >::new()); + container.insert(InspectablePropertyEditorDefinition::< + dim2::physics::character::KinematicCharacterController, + >::new()); + container.insert(InspectablePropertyEditorDefinition::::new()); + + container.insert(EnumPropertyEditorDefinition::::new()); + container.insert(EnumPropertyEditorDefinition::::new_optional()); + reg_node_handle_editors!( container, sender, diff --git a/fyrox-impl/src/scene/graph/physics/character.rs b/fyrox-impl/src/scene/graph/physics/character.rs index 33d4617ff..155c45bf6 100644 --- a/fyrox-impl/src/scene/graph/physics/character.rs +++ b/fyrox-impl/src/scene/graph/physics/character.rs @@ -36,9 +36,10 @@ use rapier3d::{ math::Pose, na::Isometry3, }; +use strum_macros::{AsRefStr, EnumString, VariantNames}; /// A length measure used for various options of a character controller. -#[derive(Visit, Reflect, Copy, Clone, Debug, PartialEq)] +#[derive(Visit, Reflect, Copy, Clone, Debug, PartialEq, AsRefStr, EnumString, VariantNames)] #[reflect(type_uuid = "9b0843a3-dea4-46ed-91fa-7c4831302340")] pub enum CharacterLength { /// The length is specified relative to some of the character shape’s size.