Add automatic preserving of basic joint properties when converting between types in Editor
This commit is contained in:
35
Source/Editor/SceneGraph/Actors/JointNode.cs
Normal file
35
Source/Editor/SceneGraph/Actors/JointNode.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
|
||||
|
||||
using FlaxEngine;
|
||||
|
||||
namespace FlaxEditor.SceneGraph.Actors
|
||||
{
|
||||
/// <summary>
|
||||
/// Scene tree node for <see cref="Joint"/> actor type.
|
||||
/// </summary>
|
||||
[HideInEditor]
|
||||
public sealed class JointNode : ActorNode
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public JointNode(Actor actor)
|
||||
: base(actor)
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void PostConvert(ActorNode source)
|
||||
{
|
||||
base.PostConvert(source);
|
||||
|
||||
if (source.Actor is Joint other)
|
||||
{
|
||||
// Preserve basic properties when changing joint type
|
||||
var joint = (Joint)Actor;
|
||||
joint.Target = other.Target;
|
||||
joint.TargetAnchor = other.TargetAnchor;
|
||||
joint.TargetAnchorRotation = other.TargetAnchorRotation;
|
||||
joint.EnableCollision = other.EnableCollision;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user