Jelajahi Sumber

加上float3 float2 float4 quaternion可视化显示

tanghai 2 tahun lalu
induk
melakukan
4fc46f6bdd

+ 22 - 0
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/Float2TypeDrawer.cs

@@ -0,0 +1,22 @@
+using System;
+using Unity.Mathematics;
+using UnityEditor;
+using UnityEngine;
+
+namespace ET
+{
+    [TypeDrawer]
+    public class Float2TypeDrawer: ITypeDrawer
+    {
+        public bool HandlesType(Type type)
+        {
+            return type == typeof (float2);
+        }
+
+        public object DrawAndGetNewValue(Type memberType, string memberName, object value, object target)
+        {
+            Vector2 v = (float2)value;
+            return new float2(EditorGUILayout.Vector2Field(memberName, v));
+        }
+    }
+}

+ 11 - 0
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/Float2TypeDrawer.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e1e70936862a5024b925d554fa2de09b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 22 - 0
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/Float3TypeDrawer.cs

@@ -0,0 +1,22 @@
+using System;
+using Unity.Mathematics;
+using UnityEditor;
+using UnityEngine;
+
+namespace ET
+{
+    [TypeDrawer]
+    public class Float3TypeDrawer: ITypeDrawer
+    {
+        public bool HandlesType(Type type)
+        {
+            return type == typeof (float3);
+        }
+
+        public object DrawAndGetNewValue(Type memberType, string memberName, object value, object target)
+        {
+            Vector3 v = (float3)value;
+            return new float3(EditorGUILayout.Vector3Field(memberName, v));
+        }
+    }
+}

+ 11 - 0
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/Float3TypeDrawer.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0d03c3fdb16a1db47aac24d1cec629af
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 22 - 0
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/Float4TypeDrawer.cs

@@ -0,0 +1,22 @@
+using System;
+using Unity.Mathematics;
+using UnityEditor;
+using UnityEngine;
+
+namespace ET
+{
+    [TypeDrawer]
+    public class Float4TypeDrawer: ITypeDrawer
+    {
+        public bool HandlesType(Type type)
+        {
+            return type == typeof (float4);
+        }
+
+        public object DrawAndGetNewValue(Type memberType, string memberName, object value, object target)
+        {
+            Vector4 v = (float4)value;
+            return new float4(EditorGUILayout.Vector4Field(memberName, v));
+        }
+    }
+}

+ 11 - 0
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/Float4TypeDrawer.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a9654495cf25cc8488a1a988dfdb8c7c
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 22 - 0
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/QuaternionTypeDrawer.cs

@@ -0,0 +1,22 @@
+using System;
+using Unity.Mathematics;
+using UnityEditor;
+using UnityEngine;
+
+namespace ET
+{
+    [TypeDrawer]
+    public class QuaternionTypeDrawer: ITypeDrawer
+    {
+        public bool HandlesType(Type type)
+        {
+            return type == typeof (quaternion);
+        }
+
+        public object DrawAndGetNewValue(Type memberType, string memberName, object value, object target)
+        {
+            Vector4 v = ((quaternion)value).value;
+            return new quaternion(EditorGUILayout.Vector4Field(memberName, v));
+        }
+    }
+}

+ 11 - 0
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/QuaternionTypeDrawer.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f7a97f517c2186f4180ee6528500392e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 1
Unity/Assets/Scripts/Editor/Unity.Editor.asmdef

@@ -9,7 +9,8 @@
         "HybridCLR.Editor",
         "Unity.Model",
         "Unity.Hotfix",
-        "YooAsset"
+        "YooAsset",
+        "Unity.Mathematics"
     ],
     "includePlatforms": [
         "Editor"