Add automatic preserving of basic joint properties when converting between types in Editor

This commit is contained in:
Wojtek Figat
2021-11-03 19:35:49 +01:00
parent 837747fea2
commit 0f997dbc75
4 changed files with 45 additions and 0 deletions

View 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;
}
}
}
}