summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-15 07:04:38 +0800
committerchai <chaifix@163.com>2020-10-15 07:04:38 +0800
commitb71d5611db087772179505ed10c82ca958900df7 (patch)
tree5160f6af41d45529e435550879e0c87ea59c09a8 /Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs
parentb1b14c45ce95dcf7b81867d68d6006345d98959e (diff)
+advanced inspector
Diffstat (limited to 'Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs')
-rw-r--r--Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs b/Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs
new file mode 100644
index 00000000..28aedb57
--- /dev/null
+++ b/Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs
@@ -0,0 +1,30 @@
+using UnityEngine;
+using System;
+using System.Collections;
+
+using AdvancedInspector;
+
+[AdvancedInspector]
+public class AIExample30_RuntimeResolvedDynamic : MonoBehaviour
+{
+ [Inspect]
+ public Material mat;
+
+ [SerializeField]
+ private UnityEngine.Object myField;
+
+ // Using the RuntimeResolve with a linked function allows you to restrist the type of object that shows up in Unity's object picker.
+ // It is sometimes useful when you want a dynamic property to only show a specific type of object at a specific moment.
+ // In this example, only Material will show up as being valid, even if MyProperty is null.
+ [Inspect, RuntimeResolve("GetResolvedType")]
+ public object MyProperty
+ {
+ get { return myField; }
+ set { myField = value as UnityEngine.Object; }
+ }
+
+ private Type GetResolvedType()
+ {
+ return typeof(Material);
+ }
+}