From 047efd15559d7c62666f00392a987dccdc36d500 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 18 May 2021 22:37:34 +0800 Subject: +misc --- .../Examples/Editor/RotationLimitAngleInspector.cs | 23 ++++++++++++++++++++++ .../Editor/RotationLimitAngleInspector.cs.meta | 11 +++++++++++ 2 files changed, 34 insertions(+) create mode 100644 UnityCollection/Assets/Tools/EditorGUIHelper/Examples/Editor/RotationLimitAngleInspector.cs create mode 100644 UnityCollection/Assets/Tools/EditorGUIHelper/Examples/Editor/RotationLimitAngleInspector.cs.meta (limited to 'UnityCollection/Assets/Tools/EditorGUIHelper/Examples/Editor') diff --git a/UnityCollection/Assets/Tools/EditorGUIHelper/Examples/Editor/RotationLimitAngleInspector.cs b/UnityCollection/Assets/Tools/EditorGUIHelper/Examples/Editor/RotationLimitAngleInspector.cs new file mode 100644 index 0000000..1fb5613 --- /dev/null +++ b/UnityCollection/Assets/Tools/EditorGUIHelper/Examples/Editor/RotationLimitAngleInspector.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +[CustomEditor(typeof(RotationLimitAngle))] +public class RotationLimitAngleInspector : Editor +{ + + void OnSceneGUI() + { + RotationLimitAngle script = target as RotationLimitAngle; + if (script == null) + return; + Vector3 axis = script.axis.normalized; + Vector3 v = new Vector3(axis.y, axis.z, axis.x); + Vector3 cross = Vector3.Cross(axis, v).normalized; + Quaternion minRotation = Quaternion.AngleAxis(script.min, axis); + float min = script.min; + min = EditorHandlesHelper.ScaleValueHandle(min, script.transform.position + minRotation * cross, Quaternion.identity, 0.5f, Handles.SphereHandleCap, -10); + script.min = Mathf.Clamp(min, 0, 360); + } +} \ No newline at end of file diff --git a/UnityCollection/Assets/Tools/EditorGUIHelper/Examples/Editor/RotationLimitAngleInspector.cs.meta b/UnityCollection/Assets/Tools/EditorGUIHelper/Examples/Editor/RotationLimitAngleInspector.cs.meta new file mode 100644 index 0000000..9ff0c8e --- /dev/null +++ b/UnityCollection/Assets/Tools/EditorGUIHelper/Examples/Editor/RotationLimitAngleInspector.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ead887cac09c8ff47a9dff8eab8acd44 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- cgit v1.1-26-g67d0