diff --git a/Assets/Fungus/Scripts/Commands/SpawnObject.cs b/Assets/Fungus/Scripts/Commands/SpawnObject.cs
index 734243f3..35fed925 100644
--- a/Assets/Fungus/Scripts/Commands/SpawnObject.cs
+++ b/Assets/Fungus/Scripts/Commands/SpawnObject.cs
@@ -11,7 +11,11 @@ namespace Fungus
///
[CommandInfo("Scripting",
"Spawn Object",
- "Spawns a new object based on a reference to a scene or prefab game object.")]
+ "Spawns a new object based on a reference to a scene or prefab game object.",
+ Priority = 10)]
+ [CommandInfo("GameObject",
+ "Instantiate",
+ "Instantiate a game object")]
[AddComponentMenu("")]
[ExecuteInEditMode]
public class SpawnObject : Command
diff --git a/Assets/Fungus/Scripts/Components/Command.cs b/Assets/Fungus/Scripts/Components/Command.cs
index 64407984..0c63df11 100644
--- a/Assets/Fungus/Scripts/Components/Command.cs
+++ b/Assets/Fungus/Scripts/Components/Command.cs
@@ -11,6 +11,8 @@ namespace Fungus
///
/// Attribute class for Fungus commands.
///
+ ///
+ [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class CommandInfoAttribute : Attribute
{
///
diff --git a/Assets/Fungus/Scripts/Editor/CommandEditor.cs b/Assets/Fungus/Scripts/Editor/CommandEditor.cs
index 4f9f43f1..05ae1e17 100644
--- a/Assets/Fungus/Scripts/Editor/CommandEditor.cs
+++ b/Assets/Fungus/Scripts/Editor/CommandEditor.cs
@@ -16,17 +16,22 @@ namespace Fungus.EditorUtils
public static CommandInfoAttribute GetCommandInfo(System.Type commandType)
{
+ CommandInfoAttribute retval = null;
+
object[] attributes = commandType.GetCustomAttributes(typeof(CommandInfoAttribute), false);
foreach (object obj in attributes)
{
CommandInfoAttribute commandInfoAttr = obj as CommandInfoAttribute;
if (commandInfoAttr != null)
{
- return commandInfoAttr;
+ if (retval == null)
+ retval = commandInfoAttr;
+ else if (retval.Priority < commandInfoAttr.Priority)
+ retval = commandInfoAttr;
}
}
- return null;
+ return retval;
}
public virtual void DrawCommandInspectorGUI()