summaryrefslogtreecommitdiff
path: root/Assets/Plugins/Editor/AdvancedInspector/FieldEditors/QuaternionEditor.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Plugins/Editor/AdvancedInspector/FieldEditors/QuaternionEditor.cs')
-rw-r--r--Assets/Plugins/Editor/AdvancedInspector/FieldEditors/QuaternionEditor.cs168
1 files changed, 0 insertions, 168 deletions
diff --git a/Assets/Plugins/Editor/AdvancedInspector/FieldEditors/QuaternionEditor.cs b/Assets/Plugins/Editor/AdvancedInspector/FieldEditors/QuaternionEditor.cs
deleted file mode 100644
index 789ebbb6..00000000
--- a/Assets/Plugins/Editor/AdvancedInspector/FieldEditors/QuaternionEditor.cs
+++ /dev/null
@@ -1,168 +0,0 @@
-using UnityEngine;
-using UnityEditor;
-using System;
-using System.Collections;
-
-namespace AdvancedInspector
-{
- public class QuaternionEditor : FieldEditor
- {
- public override bool Expandable
- {
- get { return false; }
- }
-
- public override Type[] EditedTypes
- {
- get { return new Type[] { typeof(Quaternion) }; }
- }
-
- public override void Draw(InspectorField field, GUIStyle style)
- {
- float width = EditorGUIUtility.labelWidth;
- EditorGUIUtility.labelWidth = VECTOR_FIELD_WIDTH;
-
- Quaternion[] values = field.GetValues<Quaternion>();
- if (AdvancedInspectorControl.Level <= InspectorLevel.Advanced)
- {
- float[] x = new float[values.Length];
- float[] y = new float[values.Length];
- float[] z = new float[values.Length];
-
- for (int i = 0; i < values.Length; i++)
- {
- Vector3 euler = values[i].eulerAngles;
- x[i] = euler.x;
- y[i] = euler.y;
- z[i] = euler.z;
- }
-
- GUILayout.BeginHorizontal();
-
- float result;
- if (FloatEditor.DrawFloat("X", x, style, out result))
- {
- Undo.RecordObjects(field.SerializedInstances, "Edit " + field.Name + " X");
-
- for (int i = 0; i < field.Instances.Length; i++)
- {
- Vector3 v = field.GetValue<Quaternion>(field.Instances[i]).eulerAngles;
- v.x = result;
- field.SetValue(field.Instances[i], Quaternion.Euler(v));
- }
- }
-
- if (FloatEditor.DrawFloat("Y", y, style, out result))
- {
- Undo.RecordObjects(field.SerializedInstances, "Edit " + field.Name + " Y");
-
- for (int i = 0; i < field.Instances.Length; i++)
- {
- Vector3 v = field.GetValue<Quaternion>(field.Instances[i]).eulerAngles;
- v.y = result;
- field.SetValue(field.Instances[i], Quaternion.Euler(v));
- }
- }
-
- if (FloatEditor.DrawFloat("Z", z, style, out result))
- {
- Undo.RecordObjects(field.SerializedInstances, "Edit " + field.Name + " Z");
-
- for (int i = 0; i < field.Instances.Length; i++)
- {
- Vector3 v = field.GetValue<Quaternion>(field.Instances[i]).eulerAngles;
- v.z = result;
- field.SetValue(field.Instances[i], Quaternion.Euler(v));
- }
- }
-
- GUILayout.EndHorizontal();
- }
- else
- {
- float[] x = new float[values.Length];
- float[] y = new float[values.Length];
- float[] z = new float[values.Length];
- float[] w = new float[values.Length];
-
- for (int i = 0; i < values.Length; i++)
- {
- x[i] = values[i].x;
- y[i] = values[i].y;
- z[i] = values[i].z;
- w[i] = values[i].w;
- }
-
- GUILayout.BeginHorizontal();
-
- float result;
- if (FloatEditor.DrawFloat("X", x, style, out result))
- {
- Undo.RecordObjects(field.SerializedInstances, "Edit " + field.Name + " X");
-
- for (int i = 0; i < field.Instances.Length; i++)
- {
- Quaternion v = field.GetValue<Quaternion>(field.Instances[i]);
- v.x = result;
- field.SetValue(field.Instances[i], v);
- }
- }
-
- if (FloatEditor.DrawFloat("Y", y, style, out result))
- {
- Undo.RecordObjects(field.SerializedInstances, "Edit " + field.Name + " Y");
-
- for (int i = 0; i < field.Instances.Length; i++)
- {
- Quaternion v = field.GetValue<Quaternion>(field.Instances[i]);
- v.y = result;
- field.SetValue(field.Instances[i], v);
- }
- }
-
- GUILayout.EndHorizontal();
- GUILayout.BeginHorizontal();
-
- if (FloatEditor.DrawFloat("Z", z, style, out result))
- {
- Undo.RecordObjects(field.SerializedInstances, "Edit " + field.Name + " Z");
-
- for (int i = 0; i < field.Instances.Length; i++)
- {
- Quaternion v = field.GetValue<Quaternion>(field.Instances[i]);
- v.z = result;
- field.SetValue(field.Instances[i], v);
- }
- }
-
- if (FloatEditor.DrawFloat("W", w, style, out result))
- {
- Undo.RecordObjects(field.SerializedInstances, "Edit " + field.Name + " W");
-
- for (int i = 0; i < field.Instances.Length; i++)
- {
- Quaternion v = field.GetValue<Quaternion>(field.Instances[i]);
- v.w = result;
- field.SetValue(field.Instances[i], v);
- }
- }
-
- GUILayout.EndHorizontal();
- }
-
- EditorGUIUtility.labelWidth = width;
- }
-
- public override void OnContextualClick(InspectorField field, GenericMenu menu)
- {
- menu.AddItem(new GUIContent("Identity"), false, Identity);
-
- menu.AddSeparator("");
- }
-
- private void Identity()
- {
- AdvancedInspectorControl.Field.SetValue(Quaternion.identity);
- }
- }
-} \ No newline at end of file