From b8bc660563a910bd3b91e632e6c7c085256428fb Mon Sep 17 00:00:00 2001 From: Austin Date: Fri, 24 Dec 2021 15:02:57 -0500 Subject: [PATCH] 1.4.0 update + Added inspector configurable commands + Added some documentation + Added "hello world" command example + Added "NonLoadableCommand" attribute * Updated Readme * Fixed namespace/console name convention --- README.md | 22 ++-- Runtime/Behaviours/DevConsoleBehaviour.cs | 15 ++- Runtime/Commands/DefaultCommands.cs | 24 ++-- .../Commands/NonLoadableCommandAttribute.cs | 12 ++ .../NonLoadableCommandAttribute.cs.meta | 3 + Runtime/Commands/UnityEventCommand.cs | 52 +++++++++ Runtime/Commands/UnityEventCommand.cs.meta | 3 + Runtime/Console.cs | 109 ++++++++++++++++++ .../{DevConsole.cs.meta => Console.cs.meta} | 0 Runtime/DevConsole.cs | 54 --------- .../Examples/BasicConsoleDisplayBehaviour.cs | 6 +- Runtime/Examples/BasicConsoleToggler.cs | 2 +- Runtime/Examples/BasicInputBufferUpdater.cs | 2 +- Runtime/Examples/HelloWorldCommand.cs | 30 +++++ Runtime/Examples/HelloWorldCommand.cs.meta | 3 + Samples/DevConsoleDemo.unity | 12 +- Samples/Prefabs/BasicDevConsole.prefab | 59 +++++++++- package.json | 2 +- 18 files changed, 325 insertions(+), 85 deletions(-) create mode 100644 Runtime/Commands/NonLoadableCommandAttribute.cs create mode 100644 Runtime/Commands/NonLoadableCommandAttribute.cs.meta create mode 100644 Runtime/Commands/UnityEventCommand.cs create mode 100644 Runtime/Commands/UnityEventCommand.cs.meta create mode 100644 Runtime/Console.cs rename Runtime/{DevConsole.cs.meta => Console.cs.meta} (100%) delete mode 100644 Runtime/DevConsole.cs create mode 100644 Runtime/Examples/HelloWorldCommand.cs create mode 100644 Runtime/Examples/HelloWorldCommand.cs.meta diff --git a/README.md b/README.md index 916036c..1c53df8 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ A simple in-game developer console with easy-to-implement commands and scripting ![Example](https://i.imgur.com/hWwjmZl.gif) #### Features -- Easily code new commands with no additional setup - just implement the command class! +- Easily create new commands **from the inspector** or **C#**! - Some default/starter commands are included - Modular and extensible components - Tons of events to hook into. This includes `UnityEvent`, inheritable class events, and `static Action` events @@ -16,9 +16,7 @@ A simple in-game developer console with easy-to-implement commands and scripting #### Todo - Some functions/classes need additional documentation - Scripting for executing a series of commands from a text file or string -- Configurable commands that can be created in the inspector with `UnityEvent` and require no coding. - Control improvements in the example console. -- Improved README documentation to describe all settings/configurations/options for the console's game object. # Getting Started 1. Import the package or Github content into your Assets folder @@ -41,11 +39,21 @@ Note that this API does come with some default commands, but to embrace the powe | Previous Command | Assigns the "previous" command sent relative to the current history position into the input buffer. | Up Arrow | | Next Command | Assigns the "next" command sent relative to the current history position into the input buffer. | Down Arrow | -### Creating New Commands -The system uses C# Reflection to find commands. All you have to do is implement the `DevConsoleCommand` class and start the game. +# Creating New Commands +There's two main ways to create new commands. + +### From the Inspector (Basic) +1. Select the `DevConsoleBehaviour` game object in the scene. +2. Under the "Misc" section in the component's inspector, find the "Unity Event Commands" array. +3. Add a new element and configure/customize the command as needed.

+![Unity Event Example](https://i.imgur.com/be4E1dd.png) + +### From Code (C#) +The system uses C# Reflection to find commands. All you have to do is implement the `DevConsoleCommand` class and start the game. This command is included within the examples. ```c# using System.Collections.Generic; using DevConsole; +using DevConsole.Commands; public class HelloWorldCommand : DevConsoleCommand { @@ -58,7 +66,7 @@ public class HelloWorldCommand : DevConsoleCommand // The action that actually happens when this command is executed. public override void Execute(List parameters) { - DevConsole.Print("Hello world!"); + Console.Print("Hello world!"); } // (OPTIONAL) The text displayed when the "help helloworld" or "help hw" command is executed @@ -93,7 +101,7 @@ This section describes how to configure a `DevConsoleBehaviour`. | Enable Dev Mode On Start | When enabled, the `DevConsoleBehaviour` will automatically enter "Dev Mode" if possible when it starts. | | Allow Cheat Mode | Allows the usage of "Cheat Mode". If disabled, `SetCheatMode(...)` cannot be called and cheat-mode-only commands cannot be executed. | | Enable Cheat Mode On Start | When enabled, the `DevConsoleBehaviour` will automatically enter "Cheat Mode" if possible when it starts. | -| Max History | The maximum amount of entries the console will remember. +| Max History | The maximum amount of entries the console will remember. | ### Components | Field | Description | diff --git a/Runtime/Behaviours/DevConsoleBehaviour.cs b/Runtime/Behaviours/DevConsoleBehaviour.cs index 38a0f0b..8ec6821 100644 --- a/Runtime/Behaviours/DevConsoleBehaviour.cs +++ b/Runtime/Behaviours/DevConsoleBehaviour.cs @@ -88,13 +88,18 @@ public static event Action private string _startMessage = ""; [Header("Components"), SerializeField, - Tooltip("Determines how input is handled when updating this console.")] + Tooltip("Determines how input is handled when updating this console.")] protected ConsoleInputBehaviour _consoleInputBehaviour; [SerializeField, - Tooltip("Determines how printing and clearing text is handled for this console.")] + Tooltip("Determines how printing and clearing text is handled for this console.")] protected ConsoleDisplayBehaviour _consoleDisplayBehaviour; + [Header("Misc"), + SerializeField, + Tooltip("Commands that can be added to the behaviour through the inspector.")] + protected UnityEventCommand[] _unityEventCommands = new UnityEventCommand[0]; + [Header("Events"), SerializeField] protected UnityEvent _onInitialized; @@ -189,9 +194,15 @@ private void OnEnable() _devConsoleCommands = TypeUtil.GetNonAbstractSubTypes(typeof(DevConsoleCommand)) + .Where(type => Attribute.GetCustomAttribute(type, typeof(NonLoadableCommandAttribute)) == null) .Select(devConsoleCommand => (DevConsoleCommand) Activator.CreateInstance(devConsoleCommand)) .ToList(); + foreach (var unityEventCommand in _unityEventCommands) + { + _devConsoleCommands.Add(unityEventCommand); + } + if (_printUnityConsoleLogs) Application.logMessageReceived += OnUnityLog; if (_startsOpen) _open = true; if (_openOnStart && !_open) Open(); diff --git a/Runtime/Commands/DefaultCommands.cs b/Runtime/Commands/DefaultCommands.cs index dba2dd7..b5be29e 100644 --- a/Runtime/Commands/DefaultCommands.cs +++ b/Runtime/Commands/DefaultCommands.cs @@ -20,7 +20,7 @@ public override string GetHelp() public override void Execute(List parameters) { - DevConsole.Print(string.Join(" ", parameters)); + Console.Print(string.Join(" ", parameters)); } } @@ -43,14 +43,14 @@ public override void Execute(List parameters) { if (parameters.Count == 0) { - foreach (var command in DevConsole.GetAllRegisteredCommands()) + foreach (var command in Console.GetAllRegisteredCommands()) { - if (command.cheatModeOnly && !DevConsole.isCheatModeEnabled) + if (command.cheatModeOnly && !Console.isCheatModeEnabled) { continue; } - if (command.devModeOnly && !DevConsole.isDevModeEnabled) + if (command.devModeOnly && !Console.isDevModeEnabled) { continue; } @@ -62,28 +62,28 @@ public override void Execute(List parameters) continue; } - DevConsole.Print($"{string.Join(", ", command.GetNames())} --> {help}"); + Console.Print($"{string.Join(", ", command.GetNames())} --> {help}"); } } else { - var command = DevConsole.GetCommandByName(parameters[0]); + var command = Console.GetCommandByName(parameters[0]); if (command == null || - command.cheatModeOnly && !DevConsole.isCheatModeEnabled || - command.devModeOnly && !DevConsole.isDevModeEnabled) + command.cheatModeOnly && !Console.isCheatModeEnabled || + command.devModeOnly && !Console.isDevModeEnabled) { PrintNotAvailable(); return; } - DevConsole.Print(command.GetHelp()); + Console.Print(command.GetHelp()); } } private void PrintNotAvailable() { - DevConsole.PrintError("Help for this command is not available."); + Console.PrintError("Help for this command is not available."); } } @@ -104,7 +104,7 @@ public override string GetHelp() public override void Execute(List parameters) { - DevConsole.Clear(); + Console.Clear(); } } @@ -120,7 +120,7 @@ public override string[] GetNames() public override void Execute(List parameters) { - DevConsole.Print(DateTime.Now.ToString("g")); + Console.Print(DateTime.Now.ToString("g")); } } } \ No newline at end of file diff --git a/Runtime/Commands/NonLoadableCommandAttribute.cs b/Runtime/Commands/NonLoadableCommandAttribute.cs new file mode 100644 index 0000000..f25e68f --- /dev/null +++ b/Runtime/Commands/NonLoadableCommandAttribute.cs @@ -0,0 +1,12 @@ +using System; +using DevConsole.Behaviours; + +namespace DevConsole.Commands +{ + /// + /// Put onto implementations that shouldn't be loaded initially by the + /// . + /// + [AttributeUsage(AttributeTargets.Class)] + public class NonLoadableCommandAttribute : Attribute { } +} \ No newline at end of file diff --git a/Runtime/Commands/NonLoadableCommandAttribute.cs.meta b/Runtime/Commands/NonLoadableCommandAttribute.cs.meta new file mode 100644 index 0000000..46955d9 --- /dev/null +++ b/Runtime/Commands/NonLoadableCommandAttribute.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f11ddd78bffd416c9221f9c90ad580a1 +timeCreated: 1640374402 \ No newline at end of file diff --git a/Runtime/Commands/UnityEventCommand.cs b/Runtime/Commands/UnityEventCommand.cs new file mode 100644 index 0000000..70ad76b --- /dev/null +++ b/Runtime/Commands/UnityEventCommand.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; + +namespace DevConsole.Commands +{ + [Serializable, NonLoadableCommand] + public class UnityEventCommand : DevConsoleCommand + { + [SerializeField, + Tooltip("Names that can be used to invoke this command. All entries are set to lowercase and trimmed before comparison.")] + private string[] _names; + + [SerializeField, + Tooltip("The text that appears when a user types \"help [your-command-name]\"")] + private string _helpText; + + [SerializeField, + Tooltip("Enable if this command should only be used during \"Dev Mode\".")] + private bool _devModeOnly; + + [SerializeField, + Tooltip("Enable if this command should only be used during \"Cheat Mode\".")] + private bool _cheatModeOnly; + + [SerializeField, + Tooltip("Invoked when this command is executed. It'll be invoked before \"onParameterInvoke\".")] + private UnityEvent _onInvoke; + + [SerializeField, + Tooltip("Invoked when this command is executed. It's invoked with all parameters sent to the command and invoked after \"onInvoke\".")] + private StringParamUnityEvent _onParameterInvoke; + + public override string[] GetNames() => _names; + + public override string GetHelp() => _helpText; + + public override bool devModeOnly => _devModeOnly; + + public override bool cheatModeOnly => _cheatModeOnly; + + public override void Execute(List parameters) + { + _onInvoke?.Invoke(); + _onParameterInvoke?.Invoke(parameters); + } + } + + [Serializable] + public class StringParamUnityEvent : UnityEvent> { } +} \ No newline at end of file diff --git a/Runtime/Commands/UnityEventCommand.cs.meta b/Runtime/Commands/UnityEventCommand.cs.meta new file mode 100644 index 0000000..afd6431 --- /dev/null +++ b/Runtime/Commands/UnityEventCommand.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 79d3c9eb1e094bcd954f0519c0968d8b +timeCreated: 1640374119 \ No newline at end of file diff --git a/Runtime/Console.cs b/Runtime/Console.cs new file mode 100644 index 0000000..8e488c3 --- /dev/null +++ b/Runtime/Console.cs @@ -0,0 +1,109 @@ +using System.Collections.Generic; +using DevConsole.Behaviours; +using DevConsole.Commands; +using DevConsole.Enums; +using static DevConsole.Behaviours.DevConsoleBehaviour; + +namespace DevConsole +{ + /// + /// Allows quick and easy access to instance functionality. + /// + public static class Console + { + /// + /// Prints a message to the dev console, using the . + /// + /// The message to print. + public static void Print(string message) => Instance?.Print(message); + + /// + /// Prints a message to the dev console, using the + /// of the specified . + /// + /// The message to print. + /// he message type. + public static void Print(string message, DevConsolePrintType printType) => Instance?.Print(message, printType); + + /// + /// Prints an error message to the dev console, using the . + /// + /// The error message to print. + public static void PrintError(string message) => Instance?.Print(message, DevConsolePrintType.Error); + + /// + /// Prints a warning message to the dev console, using the . + /// + /// The warning message to print. + public static void PrintWarning(string message) => Instance?.Print(message, DevConsolePrintType.Warning); + + /// + /// Prints a success message to the dev console, using the . + /// + /// The success message to print. + public static void PrintSuccess(string message) => Instance?.Print(message, DevConsolePrintType.Success); + + /// + /// Toggles the . + /// + public static void Toggle() => Instance?.Toggle(); + + /// + /// Opens the . + /// + public static void Open() => Instance?.Open(); + + /// + /// Closes the . + /// + public static void Close() => Instance?.Close(); + + /// + /// Clears the . + /// + public static void Clear() => Instance?.Clear(); + + /// + /// Gets all registered commands from the . + /// + /// of registered in the . + public static List GetAllRegisteredCommands() => Instance?.GetAllRegisteredCommands(); + + /// + /// Gets a command matching the given . + /// + /// The name of the command to get. + /// A if one exists for the given name. + public static DevConsoleCommand GetCommandByName(string name) => Instance?.GetCommandByName(name); + + /// + /// Checks whether or not the is open. + /// + public static bool isOpen => Instance?.isOpen ?? false; + + /// + /// Checks whether or not the has dev mode enabled. + /// + public static bool isDevModeEnabled => Instance?.isDevModeEnabled ?? false; + + /// + /// Checks whether or not the has the cheat mode enabled. + /// + public static bool isCheatModeEnabled => Instance?.isCheatModeEnabled ?? false; + + /// + /// The current input buffer for the . + /// + public static string inputBuffer + { + get => Instance?.inputBuffer; + set + { + if (Instance) + { + Instance.inputBuffer = value; + } + } + } + } +} \ No newline at end of file diff --git a/Runtime/DevConsole.cs.meta b/Runtime/Console.cs.meta similarity index 100% rename from Runtime/DevConsole.cs.meta rename to Runtime/Console.cs.meta diff --git a/Runtime/DevConsole.cs b/Runtime/DevConsole.cs deleted file mode 100644 index 73cc8f8..0000000 --- a/Runtime/DevConsole.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System.Collections.Generic; -using DevConsole.Behaviours; -using DevConsole.Commands; -using DevConsole.Enums; -using static DevConsole.Behaviours.DevConsoleBehaviour; - -namespace DevConsole -{ - /// - /// Allows quick and easy access to instance functionality. - /// - public static class DevConsole - { - public static void Print(string message) => Instance?.Print(message); - - public static void Print(string message, DevConsolePrintType printType) => Instance?.Print(message, printType); - - public static void PrintError(string message) => Instance?.Print(message, DevConsolePrintType.Error); - - public static void PrintWarning(string message) => Instance?.Print(message, DevConsolePrintType.Warning); - - public static void PrintSuccess(string message) => Instance?.Print(message, DevConsolePrintType.Success); - - public static void Toggle() => Instance?.Toggle(); - - public static void Open() => Instance?.Open(); - - public static void Close() => Instance?.Close(); - - public static void Clear() => Instance?.Clear(); - - public static List GetAllRegisteredCommands() => Instance?.GetAllRegisteredCommands(); - - public static DevConsoleCommand GetCommandByName(string name) => Instance?.GetCommandByName(name); - - public static bool isOpen => Instance?.isOpen ?? false; - - public static bool isDevModeEnabled => Instance?.isDevModeEnabled ?? false; - - public static bool isCheatModeEnabled => Instance?.isCheatModeEnabled ?? false; - - public static string inputBuffer - { - get => Instance?.inputBuffer; - set - { - if (Instance) - { - Instance.inputBuffer = value; - } - } - } - } -} \ No newline at end of file diff --git a/Runtime/Examples/BasicConsoleDisplayBehaviour.cs b/Runtime/Examples/BasicConsoleDisplayBehaviour.cs index 7a3a538..a26b859 100644 --- a/Runtime/Examples/BasicConsoleDisplayBehaviour.cs +++ b/Runtime/Examples/BasicConsoleDisplayBehaviour.cs @@ -98,7 +98,7 @@ public override void Execute(List parameters) if (!basicConsoleDisplayBehaviour) { - DevConsole.PrintError("No basic console display behaviour detected."); + Console.PrintError("No basic console display behaviour detected."); return; } @@ -112,11 +112,11 @@ public override void Execute(List parameters) .Select(dt => dt.text.text) .ToList()); - DevConsole.PrintSuccess($"Dumped to:\n{filePath}"); + Console.PrintSuccess($"Dumped to:\n{filePath}"); } catch (Exception exception) { - DevConsole.PrintError($"Failed to dump file, reason: {exception.Message}"); + Console.PrintError($"Failed to dump file, reason: {exception.Message}"); } } } diff --git a/Runtime/Examples/BasicConsoleToggler.cs b/Runtime/Examples/BasicConsoleToggler.cs index 395eccf..63a04ea 100644 --- a/Runtime/Examples/BasicConsoleToggler.cs +++ b/Runtime/Examples/BasicConsoleToggler.cs @@ -12,7 +12,7 @@ public class BasicConsoleToggler : MonoBehaviour private void Start() { - _open = DevConsole.isOpen; + _open = Console.isOpen; } private void Update() diff --git a/Runtime/Examples/BasicInputBufferUpdater.cs b/Runtime/Examples/BasicInputBufferUpdater.cs index 7363cad..edf5197 100644 --- a/Runtime/Examples/BasicInputBufferUpdater.cs +++ b/Runtime/Examples/BasicInputBufferUpdater.cs @@ -10,7 +10,7 @@ public class BasicInputBufferUpdater : MonoBehaviour public void OnTextChanged(string value) { - DevConsole.inputBuffer = value; + Console.inputBuffer = value; } public void OnInputBufferChanged(string value) diff --git a/Runtime/Examples/HelloWorldCommand.cs b/Runtime/Examples/HelloWorldCommand.cs new file mode 100644 index 0000000..d3e1ef0 --- /dev/null +++ b/Runtime/Examples/HelloWorldCommand.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; +using DevConsole; +using DevConsole.Commands; + +public class HelloWorldCommand : DevConsoleCommand +{ + // All names associated with this command. These are the case-insensitive values users can enter to use the command. + public override string[] GetNames() + { + return new string[] {"helloworld", "hw"}; + } + + // The action that actually happens when this command is executed. + public override void Execute(List parameters) + { + Console.Print("Hello world!"); + } + + // (OPTIONAL) The text displayed when the "help helloworld" or "help hw" command is executed + public override string GetHelp() + { + return "Displays \"Hello World\" into the console."; + } + + // (OPTIONAL) Denotes whether or not this command can only be run in "dev mode" + public override bool devModeOnly => false; + + // (OPTIONAL) Denotes whether or not this command can only be run in "cheat mode" + public override bool cheatModeOnly => false; +} \ No newline at end of file diff --git a/Runtime/Examples/HelloWorldCommand.cs.meta b/Runtime/Examples/HelloWorldCommand.cs.meta new file mode 100644 index 0000000..958fc4c --- /dev/null +++ b/Runtime/Examples/HelloWorldCommand.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9297fe23f8794575a539189fad05f56f +timeCreated: 1640371720 \ No newline at end of file diff --git a/Samples/DevConsoleDemo.unity b/Samples/DevConsoleDemo.unity index 6db6fe2..d5aa7c8 100644 --- a/Samples/DevConsoleDemo.unity +++ b/Samples/DevConsoleDemo.unity @@ -297,7 +297,7 @@ PrefabInstance: - target: {fileID: 627915360313569979, guid: f803c79d507c81146b3631272028d900, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -0.000019807723 objectReference: {fileID: 0} - target: {fileID: 627915360335162993, guid: f803c79d507c81146b3631272028d900, type: 3} @@ -384,6 +384,11 @@ PrefabInstance: propertyPath: m_AnchorMax.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 627915360896929247, guid: f803c79d507c81146b3631272028d900, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 627915361098872738, guid: f803c79d507c81146b3631272028d900, type: 3} propertyPath: m_AnchorMax.y @@ -429,6 +434,11 @@ PrefabInstance: propertyPath: m_RaycastTarget value: 0 objectReference: {fileID: 0} + - target: {fileID: 627915361685927568, guid: f803c79d507c81146b3631272028d900, + type: 3} + propertyPath: m_Value + value: 1 + objectReference: {fileID: 0} - target: {fileID: 627915361685927569, guid: f803c79d507c81146b3631272028d900, type: 3} propertyPath: m_AnchorMax.y diff --git a/Samples/Prefabs/BasicDevConsole.prefab b/Samples/Prefabs/BasicDevConsole.prefab index af46aa2..91b7b98 100644 --- a/Samples/Prefabs/BasicDevConsole.prefab +++ b/Samples/Prefabs/BasicDevConsole.prefab @@ -1298,6 +1298,7 @@ MonoBehaviour: successTextColor: {r: 0, g: 1, b: 0, a: 1} warningTextColor: {r: 1, g: 0.5, b: 0.1, a: 1} errorTextColor: {r: 1, g: 0.1, b: 0.1, a: 1} + displayTexts: [] --- !u!1 &627915361458349904 GameObject: m_ObjectHideFlags: 0 @@ -2072,16 +2073,68 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b2508d0ce3de439885b983d64af58804, type: 3} m_Name: m_EditorClassIdentifier: - _logUnityEventsToConsole: 1 + _debug: 1 _startsOpen: 1 _openOnStart: 1 - _logCommandsToConsole: 0 - _logUnityApplicationMessages: 0 + _printUnityConsoleLogs: 0 _showCommandDoesntExistError: 1 _clearInputBufferAfterSubmit: 1 + _allowDevMode: 1 + _enableDevModeOnStart: 0 + _allowCheatMode: 0 + _enableCheatModeOnStart: 0 _maxHistory: 100 + _startMessage: _consoleInputBehaviour: {fileID: 627915362310615800} _consoleDisplayBehaviour: {fileID: 627915361454453137} + _unityEventCommands: + - _names: + - ToggleConsole + - Toggle + _helpText: Toggles the console. + _devModeOnly: 0 + _cheatModeOnly: 0 + _onInvoke: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 627915361985457360} + m_TargetAssemblyTypeName: DevConsole.Behaviours.DevConsoleBehaviour, austephnerllc.devconsole + m_MethodName: Toggle + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + _onParameterInvoke: + m_PersistentCalls: + m_Calls: [] + - _names: + - Close + _helpText: Closes the console. + _devModeOnly: 0 + _cheatModeOnly: 0 + _onInvoke: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 627915361985457360} + m_TargetAssemblyTypeName: DevConsole.Behaviours.DevConsoleBehaviour, austephnerllc.devconsole + m_MethodName: Close + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + _onParameterInvoke: + m_PersistentCalls: + m_Calls: [] _onInitialized: m_PersistentCalls: m_Calls: [] diff --git a/package.json b/package.json index 2a6c611..b51191e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.austephnerllc.devconsole", - "version": "1.2.0", + "version": "1.3.0", "displayName": "Dev Console", "description": "A simple in-game developer console with easy-to-implement commands and scripting.", "unity": "2020.3",