Beispiel #1
0
        public bool IsSameTerminal(LG_ComputerTerminal terminal)
        {
            if (VerifyTerminal == null || terminal == null)
            {
                return(false);
            }

            return(terminal.GetInstanceID() == VerifyTerminal.GetInstanceID());
        }
Beispiel #2
0
        public static void AddCommand(LG_ComputerTerminal terminal, string cmdText, string helpText, Action <LG_ComputerTerminal, string, string> onCmdReceived)
        {
            if (terminal == null)
            {
                return;
            }

            if (terminal.m_command.m_commandsPerString.ContainsKey(cmdText.ToLower()))
            {
                return;
            }

            TerminalMessage.OnRecievedCustomCmd += (LG_ComputerTerminal eTerminal, string cmd, string arg1, string arg2) =>
            {
                if (!IsSame(terminal, eTerminal))
                {
                    return;
                }

                if (cmdText.Equals(cmd, StringComparison.OrdinalIgnoreCase))
                {
                    onCmdReceived?.Invoke(eTerminal, arg1, arg2);
                }
            };

            var id       = terminal.GetInstanceID();
            var newCmdId = 0;

            if (_CommandCustomIDDict.ContainsKey(id))
            {
                newCmdId = ++_CommandCustomIDDict[id];
            }
            else
            {
                newCmdId = 100000;
                _CommandCustomIDDict.Add(id, newCmdId);
            }

            terminal.m_command.AddCommand((TERM_Command)newCmdId, cmdText, helpText);
        }
Beispiel #3
0
 private static bool IsSame(LG_ComputerTerminal a, LG_ComputerTerminal b)
 {
     return(a.GetInstanceID() == b.GetInstanceID());
 }