diff options
author | chai <chaifix@163.com> | 2020-10-15 07:04:38 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-10-15 07:04:38 +0800 |
commit | b71d5611db087772179505ed10c82ca958900df7 (patch) | |
tree | 5160f6af41d45529e435550879e0c87ea59c09a8 /Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs | |
parent | b1b14c45ce95dcf7b81867d68d6006345d98959e (diff) |
+advanced inspector
Diffstat (limited to 'Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs')
-rw-r--r-- | Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample30_RuntimeResolvedDynamic.cs | 30 |
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); + } +} |