示例#1
0
        internal static IList <CCommand> ListCommands(IList <CCommand> outList, CCommandsFilter <CCommand> filter)
        {
            if (filter == null)
            {
                throw new NullReferenceException("Filter is null");
            }

            foreach (CCommand command in m_commands)
            {
                if (filter(command))
                {
                    outList.Add(command);
                }
            }

            return(outList);
        }
示例#2
0
        internal static IList <CVar> ListVars(IList <CVar> outList, CCommandsFilter <CVarCommand> filter)
        {
            if (filter == null)
            {
                throw new NullReferenceException("Filter is null");
            }

            foreach (CCommand cmd in m_commands)
            {
                CVarCommand varCmd = cmd as CVarCommand;
                if (varCmd != null && filter(varCmd))
                {
                    outList.Add(varCmd.cvar);
                }
            }

            return(outList);
        }
示例#3
0
        internal static bool Unregister(CCommandsFilter <CCommand> filter)
        {
            bool unregistered = false;

            for (LinkedListNode <CCommand> node = m_commands.First; node != null;)
            {
                LinkedListNode <CCommand> next = node.Next;
                CCommand cmd = node.Value;
                if (filter(cmd))
                {
                    unregistered |= Unregister(cmd);
                }

                node = next;
            }

            return(unregistered);
        }
示例#4
0
 internal static IList <CVar> ListVars(CCommandsFilter <CVarCommand> filter)
 {
     return(ListVars(new List <CVar>(), filter));
 }
示例#5
0
 internal static IList <CCommand> ListCommands(CCommandsFilter <CCommand> filter)
 {
     return(ListCommands(new List <CCommand>(), filter));
 }