public void OnConsoleEntryAdded(AbstractConsole console, ref ConsoleViewCellEntry entry) { CycleArray <ConsoleViewCellEntry> Entries = this.Entries; // if unfiltered console entries overflow - we need to adjust indices and visible lines if (m_oldConsoleEntriesHeadIndex < Entries.HeadIndex) { m_oldConsoleEntriesHeadIndex = Entries.HeadIndex; int indicesHeadIndex = m_filteredIndices.HeadIndex; while (indicesHeadIndex < m_filteredIndices.Length && m_filteredIndices[indicesHeadIndex] < Entries.HeadIndex) { ++indicesHeadIndex; } m_filteredIndices.TrimToHeadIndex(indicesHeadIndex); m_consoleView.TrimCellsToHead(indicesHeadIndex); } int entryIndex = Entries.Length - 1; int entryArrayIndex = Entries.ToArrayIndex(entryIndex); if (Apply(ref Entries.InternalArray[entryArrayIndex])) { m_filteredIndices.Add(entryIndex); m_consoleView.OnConsoleEntryAdded(console, ref entry); } }