using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; namespace ScriptableObjectArchitecture.Editor { [CustomPropertyDrawer(typeof(Quaternion))] public class QuaternionDrawer : PropertyDrawer { private const float Height = 20; public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { Vector4 vector = property.quaternionValue.ToVector4(); vector = EditorGUI.Vector4Field(position, label, vector); property.quaternionValue = new Quaternion(vector.x, vector.y, vector.z, vector.w); } public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { return Height; } } }