using UnityEngine; using System; using System.Collections; using System.Collections.Generic; using System.Reflection; namespace AdvancedInspector { /// /// Define an attribute that stores a method name /// Which should be turned into a delegate at runtime. /// public interface IRuntimeAttribute : IRuntimeAttribute { /// /// Invoke the internal delegates and returns the requested values. /// T should be the same type as the Delegate return type. /// T Invoke(int index, object instance, object value); } public interface IRuntimeAttribute { /// /// Name of the MethodInfo to retrieve at runtime. /// string MethodName { get; } /// /// Prototype template of the delegate to create /// Type Template { get; } /// /// Prototype template for static external delegate /// Type TemplateStatic { get; } /// /// List of delegates to invoke. /// List Delegates { get; set; } } }