summaryrefslogtreecommitdiff
path: root/Assets/Plugins/AdvancedInspector/Interface
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Plugins/AdvancedInspector/Interface')
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/ICopiable.cs18
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/ICopiable.cs.meta8
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/ICopy.cs18
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/ICopy.cs.meta8
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IDataChanged.cs24
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IDataChanged.cs.meta8
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IInspectorRunning.cs29
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IInspectorRunning.cs.meta8
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IListAttribute.cs12
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IListAttribute.cs.meta8
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IPreview.cs26
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IPreview.cs.meta8
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IRuntimeAttribute.cs44
-rw-r--r--Assets/Plugins/AdvancedInspector/Interface/IRuntimeAttribute.cs.meta8
14 files changed, 227 insertions, 0 deletions
diff --git a/Assets/Plugins/AdvancedInspector/Interface/ICopiable.cs b/Assets/Plugins/AdvancedInspector/Interface/ICopiable.cs
new file mode 100644
index 00000000..8498e056
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/ICopiable.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace AdvancedInspector
+{
+ /// <summary>
+ /// Give an object the power to detect if it can be clone to the target location.
+ /// </summary>
+ public interface ICopiable
+ {
+ /// <summary>
+ /// Should return true if the object can be copied to replace the object destination.
+ /// </summary>
+ bool Copiable(object destination);
+ }
+}
diff --git a/Assets/Plugins/AdvancedInspector/Interface/ICopiable.cs.meta b/Assets/Plugins/AdvancedInspector/Interface/ICopiable.cs.meta
new file mode 100644
index 00000000..fe1413d4
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/ICopiable.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5be419eaa25267d4abffe1323b92fdba
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Assets/Plugins/AdvancedInspector/Interface/ICopy.cs b/Assets/Plugins/AdvancedInspector/Interface/ICopy.cs
new file mode 100644
index 00000000..d3584276
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/ICopy.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace AdvancedInspector
+{
+ /// <summary>
+ /// Give an object the power to handle it's own copying over an target destination.
+ /// </summary>
+ public interface ICopy
+ {
+ /// <summary>
+ /// Should return a copy of itself. The overriden destination object is passed in case important fields are not to be replaced.
+ /// </summary>
+ object Copy(object destination);
+ }
+}
diff --git a/Assets/Plugins/AdvancedInspector/Interface/ICopy.cs.meta b/Assets/Plugins/AdvancedInspector/Interface/ICopy.cs.meta
new file mode 100644
index 00000000..e96268ea
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/ICopy.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c3c8bf575d7676a4bb245bda97724449
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IDataChanged.cs b/Assets/Plugins/AdvancedInspector/Interface/IDataChanged.cs
new file mode 100644
index 00000000..65e93a85
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IDataChanged.cs
@@ -0,0 +1,24 @@
+using UnityEngine;
+using System;
+using System.Collections;
+
+namespace AdvancedInspector
+{
+ /// <summary>
+ /// Define an interface called when the Inspector has performed changes.
+ /// The event works the other way around, as a way to notify the Inspector something changed and needs to be refreshed.
+ /// </summary>
+ public interface IDataChanged
+ {
+ /// <summary>
+ /// Fired when the Inspector changed.
+ /// </summary>
+ void DataChanged();
+
+ /// <summary>
+ /// Should be fired internal by the object when the fields structure changed.
+ /// Ex.: Added an object to a list.
+ /// </summary>
+ event GenericEventHandler OnDataChanged;
+ }
+} \ No newline at end of file
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IDataChanged.cs.meta b/Assets/Plugins/AdvancedInspector/Interface/IDataChanged.cs.meta
new file mode 100644
index 00000000..957af94f
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IDataChanged.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d075315f0f1460743ac06aafae48b280
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IInspectorRunning.cs b/Assets/Plugins/AdvancedInspector/Interface/IInspectorRunning.cs
new file mode 100644
index 00000000..c2038537
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IInspectorRunning.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace AdvancedInspector
+{
+ /// <summary>
+ /// When implementing this, gives the object ability to draw the header and footer of the Inspector's space.
+ /// </summary>
+ public interface IInspectorRunning
+ {
+ /// <summary>
+ /// Draw at the top of the inspector, in this order;
+ /// - This
+ /// - Class Helpbox
+ /// - Tabs
+ /// rest of the fields
+ /// </summary>
+ void OnHeaderGUI();
+
+ /// <summary>
+ /// Draw at the bottom of the inspector, in this order;
+ /// - Helpbox
+ /// - This
+ /// </summary>
+ void OnFooterGUI();
+ }
+} \ No newline at end of file
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IInspectorRunning.cs.meta b/Assets/Plugins/AdvancedInspector/Interface/IInspectorRunning.cs.meta
new file mode 100644
index 00000000..ad85b3be
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IInspectorRunning.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 94767ceadd7c79e4da722e9aa451f87e
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IListAttribute.cs b/Assets/Plugins/AdvancedInspector/Interface/IListAttribute.cs
new file mode 100644
index 00000000..2f020402
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IListAttribute.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace AdvancedInspector
+{
+ /// <summary>
+ /// Define an attribute that can be passed down to list/array elements.
+ /// </summary>
+ public interface IListAttribute { }
+}
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IListAttribute.cs.meta b/Assets/Plugins/AdvancedInspector/Interface/IListAttribute.cs.meta
new file mode 100644
index 00000000..d180ca1e
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IListAttribute.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fec0fc7a00e58804ab5c94aa860790b7
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IPreview.cs b/Assets/Plugins/AdvancedInspector/Interface/IPreview.cs
new file mode 100644
index 00000000..9dcf487c
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IPreview.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using UnityEngine;
+
+namespace AdvancedInspector
+{
+ /// <summary>
+ /// Implements the method required to display an inspector preview.
+ /// </summary>
+ public interface IPreview
+ {
+ /// <summary>
+ /// This should return instance(s) of the following type;
+ /// GameObject
+ /// Mesh
+ /// Material
+ /// Texture
+ /// Cubemap
+ /// If return null or empty array, preview is turned off.
+ /// </summary>
+ UnityEngine.Object[] Preview { get; }
+ }
+} \ No newline at end of file
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IPreview.cs.meta b/Assets/Plugins/AdvancedInspector/Interface/IPreview.cs.meta
new file mode 100644
index 00000000..841448df
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IPreview.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bea75a5ed3255024b904a3ebfddcb15b
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IRuntimeAttribute.cs b/Assets/Plugins/AdvancedInspector/Interface/IRuntimeAttribute.cs
new file mode 100644
index 00000000..10710819
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IRuntimeAttribute.cs
@@ -0,0 +1,44 @@
+using UnityEngine;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Reflection;
+
+namespace AdvancedInspector
+{
+ /// <summary>
+ /// Define an attribute that stores a method name
+ /// Which should be turned into a delegate at runtime.
+ /// </summary>
+ public interface IRuntimeAttribute<T> : IRuntimeAttribute
+ {
+ /// <summary>
+ /// Invoke the internal delegates and returns the requested values.
+ /// T should be the same type as the Delegate return type.
+ /// </summary>
+ T Invoke(int index, object instance, object value);
+ }
+
+ public interface IRuntimeAttribute
+ {
+ /// <summary>
+ /// Name of the MethodInfo to retrieve at runtime.
+ /// </summary>
+ string MethodName { get; }
+
+ /// <summary>
+ /// Prototype template of the delegate to create
+ /// </summary>
+ Type Template { get; }
+
+ /// <summary>
+ /// Prototype template for static external delegate
+ /// </summary>
+ Type TemplateStatic { get; }
+
+ /// <summary>
+ /// List of delegates to invoke.
+ /// </summary>
+ List<Delegate> Delegates { get; set; }
+ }
+} \ No newline at end of file
diff --git a/Assets/Plugins/AdvancedInspector/Interface/IRuntimeAttribute.cs.meta b/Assets/Plugins/AdvancedInspector/Interface/IRuntimeAttribute.cs.meta
new file mode 100644
index 00000000..54a67e7e
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Interface/IRuntimeAttribute.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a59d020caab68e44bbc71d13e9f12fc1
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData: