Example #1
0
        /// <summary>
        /// Takes a string input and executes that as a command.
        /// </summary>
        public static void ExecuteCommand(string input)
        {
            consoleOutput?.LogCommand(input);

            if (string.IsNullOrWhiteSpace(input))
            {
                return;
            }

            var args = DevConsoleHelper.ParseCommand(input);
            var arg  = args[0].ToLower();

            if (registeredConVars.ContainsKey(arg))
            {
                if (args.Length == 1)
                {
                    LogMessage($"{arg}: {registeredConVars[arg].FieldInfo.GetValue(null)}");
                }
                else
                {
                    SetConVarValue(registeredConVars[arg].FieldInfo, args[1]);
                }
            }
            else if (registeredCommands.ContainsKey(arg))
            {
                registeredCommands[arg].Execute(args);
            }
            else
            {
                consoleOutput?.LogError($"Invalid Command: {args[0]}");
            }
        }