Procházet zdrojové kódy

可视化树增加IScene的显示

tanghai před 2 roky
rodič
revize
97ee2ccf4b

+ 0 - 1
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/EntityRefTypeDrawer.cs

@@ -27,7 +27,6 @@ namespace ET
 
         public object DrawAndGetNewValue(Type memberType, string memberName, object value, object target)
         {
-
             FieldInfo fieldInfo = memberType.GetField("entity", BindingFlags.NonPublic | BindingFlags.Instance);
             Entity entity = (Entity)fieldInfo.GetValue(value);
             GameObject go = entity?.ViewGO;

+ 23 - 0
Unity/Assets/Scripts/Editor/ComponentViewEditor/TypeDrawer/ISceneTypeDrawer.cs

@@ -0,0 +1,23 @@
+using System;
+using System.Reflection;
+using UnityEditor;
+using UnityEngine;
+
+namespace ET
+{
+    [TypeDrawer]
+    public class ISceneTypeDrawer: ITypeDrawer
+    {
+        public bool HandlesType(Type type)
+        {
+            return type == typeof (IScene);
+        }
+
+        public object DrawAndGetNewValue(Type memberType, string memberName, object value, object target)
+        {
+            Entity iScene = (Entity)value;
+            EditorGUILayout.ObjectField(memberName, iScene.ViewGO, memberType, true);
+            return value;
+        }
+    }
+}

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

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