UniversalViewer/Assets/Scripts/ModelViewerBase/UI/Handles/UIHandleMain.cs

44 lines
1.3 KiB
C#
Raw Permalink Normal View History

using UnityEditor;
2024-04-21 22:38:26 +08:00
using UnityEngine;
public class UIHandleMain : UIHandle
{
public static UIHandleMain CreateAsChild(ObjectContainer owner)
{
var handle = CreateAsChild<UIHandleMain>(owner.transform);
handle.Init(owner).SetColor(Color.yellow).SetScale(1.5f);
return handle;
}
public override UIHandle Init(ObjectContainer owner)
{
base.Init(owner);
Popup.AddButton("Reset All", TransformResetAll);
Popup.AddButton("Reset Position", TransformResetPosition);
Popup.AddButton("Reset Rotation", TransformResetRotation);
Popup.AddButton("Reset Scale", TransformResetScale);
Popup.AddButton("Reset Children", ResetBones);
2024-04-21 22:38:26 +08:00
Popup.AddButton("Delete", () => Destroy(Owner));
return this;
}
public void ResetBones()
{
using (var context = new KeyframeToggleContext(Owner, false))
{
foreach (var bone in Owner.GetComponentsInChildren<UIHandle>())
{
bone.TransformResetAll();
}
}
Owner.SetKeyframe();
}
protected override bool ShouldBeHidden()
{
return _forceDisplayOff || !HandleManager.Instance.EnabledHandles.Contains(SerializableBone.BoneTags.Root);
}
2024-04-21 22:38:26 +08:00
}