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); }
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); }
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); }
internal static IList <CVar> ListVars(CCommandsFilter <CVarCommand> filter) { return(ListVars(new List <CVar>(), filter)); }
internal static IList <CCommand> ListCommands(CCommandsFilter <CCommand> filter) { return(ListCommands(new List <CCommand>(), filter)); }