Exemple #1
0
 /// <summary>
 ///     Fire <see cref="OnGetTabOptions"/> for any ConsoleCommand when its tabOptions member
 ///     is first populated to add Jötunn entities to the option list
 /// </summary>
 /// <param name="self"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 private void ConsoleCommand_GetTabOptions(Terminal.ConsoleCommand self, ref List <string> result)
 {
     if (self.m_tabOptions == null && self.m_tabOptionsFetcher != null)
     {
         OnGetTabOptions?.SafeInvoke(self.Command, result);
     }
 }
Exemple #2
0
        public void RegisterConsoleCommand(Terminal.ConsoleCommand cmd)
        {
            // Only register commands if the terminal has finished initializing
            if (!ReflectionUtils.GetPrivateStaticField <bool>(typeof(Terminal), "m_terminalInitialized"))
            {
                // Add to queue to initialize later
                queuedCommands.Add(cmd);
                return;
            }

            var commands = ReflectionUtils.GetPrivateField <Dictionary <string, Terminal.ConsoleCommand> >(Console.instance, "commands");

            // Register queued commands
            if (queuedCommands.Count > 0)
            {
                foreach (Terminal.ConsoleCommand c in queuedCommands)
                {
                    // Cannot have two commands with same name
                    if (commands.ContainsKey(c.Command))
                    {
                        Debug.LogError("Cannot have two console commands with same name: " + cmd.Command);
                        return;
                    }

                    commands.Add(c.Command, c);
                }

                queuedCommands.Clear();
            }

            // Cannot have two commands with same name
            if (commands.ContainsKey(cmd.Command))
            {
                Debug.LogError("Cannot have two console commands with same name: " + cmd.Command);
                return;
            }

            // Add command
            commands.Add(cmd.Command, cmd);
        }
Exemple #3
0
 private static void ConsoleCommand_GetTabOptions(Terminal.ConsoleCommand __instance, ref List <string> __result) => Instance.ConsoleCommand_GetTabOptions(__instance, ref __result);