From e846c64d6f927879cb8a095e62d773a8d7b3c9f4 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 15 Oct 2020 07:24:10 +0800 Subject: *ability system --- .../Plugins/AdvancedInspector/Attributes/CreateDerived.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Assets/Plugins/AdvancedInspector/Attributes/CreateDerived.cs (limited to 'Assets/Plugins/AdvancedInspector/Attributes/CreateDerived.cs') diff --git a/Assets/Plugins/AdvancedInspector/Attributes/CreateDerived.cs b/Assets/Plugins/AdvancedInspector/Attributes/CreateDerived.cs new file mode 100644 index 00000000..3fac45f8 --- /dev/null +++ b/Assets/Plugins/AdvancedInspector/Attributes/CreateDerived.cs @@ -0,0 +1,15 @@ +using System; + +namespace AdvancedInspector +{ + /// + /// Define an exposed property that act as a object creator. + /// The field gives the user the choices of all type deriving from that property type. + /// In the case of a generic List, it offers way to add object in the list. + /// If the list is of a value type (Ex.: int), it automaticly create an entry with the default value of that type. + /// Field/Property's type sporting this attribute should derive from ComponentMonoBehaviour! + /// Otherwise, Unity's serialization will kill the polymorphism involved. + /// + [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] + public class CreateDerivedAttribute : Attribute, IListAttribute { } +} \ No newline at end of file -- cgit v1.1-26-g67d0