private void ToggleColor(object data) { object[] array = data as object[]; RowsDrawer rowsDrawer = array[0] as RowsDrawer; int consoleIndex = rowsDrawer[(int)array[1]]; Row row = array[2] as Row; int colorIndex = (int)array[3]; ColorMarkersModuleSettings settings = HQ.Settings.Get <ColorMarkersModuleSettings>(); List <ColorBackground> markers = settings.colorBackgrounds; ScrollbarInterests interests; if (this.rowsDrawerInterests.TryGetValue(rowsDrawer, out interests) == false) { interests = new ScrollbarInterests(); this.rowsDrawerInterests.Add(rowsDrawer, interests); } for (int j = 0; j < this.coloredRows.Count; j++) { if (this.coloredRows[j].row == row) { if (this.coloredRows[j].i == colorIndex) { interests.filterInterests.RemoveId(consoleIndex, 0F); this.coloredRows.RemoveAt(j); } else { interests.filterInterests.Add(8F + rowsDrawer.GetOffsetAtIndex(consoleIndex), markers[colorIndex].color, consoleIndex); this.coloredRows[j].i = colorIndex; } return; } } interests.filterInterests.Add(8F + rowsDrawer.GetOffsetAtIndex(consoleIndex), markers[colorIndex].color, consoleIndex); this.coloredRows.Add(new ColoredRow() { row = row, i = colorIndex }); }
private Action <RowsDrawer.Vars> ClosureVars(StreamLog stream) { return((vars) => { ScrollbarInterests interests; if (this.rowsDrawerInterests.TryGetValue(stream.rowsDrawer, out interests) == false) { interests = new ScrollbarInterests(); this.rowsDrawerInterests.Add(stream.rowsDrawer, interests); } vars.scrollbar.AddListInterests(interests.filterInterests); vars.scrollbar.AddListInterests(interests.logTypeInterests); vars.scrollbar.AddListInterests(interests.warningLogsInterests); vars.scrollbar.AddListInterests(interests.errorLogsInterests); }); }
private void OnRowAdded(StreamLog stream, Row row, int consoleIndex) { ColorMarkersModuleSettings settings = HQ.Settings.Get <ColorMarkersModuleSettings>(); ScrollbarInterests interests; if (this.rowsDrawerInterests.TryGetValue(stream.rowsDrawer, out interests) == false) { interests = new ScrollbarInterests(); foreach (var vars in stream.rowsDrawer.perWindowVars.Each()) { vars.scrollbar.AddListInterests(interests.filterInterests); vars.scrollbar.AddListInterests(interests.logTypeInterests); vars.scrollbar.AddListInterests(interests.warningLogsInterests); vars.scrollbar.AddListInterests(interests.errorLogsInterests); } this.rowsDrawerInterests.Add(stream.rowsDrawer, interests); } if (settings.dotInScrollbarRowByLogType == true) { if ((row.log.mode & Mode.ScriptingException) != 0) { interests.errorLogsInterests.Add(8F + stream.rowsDrawer.GetOffsetAtIndex(consoleIndex), HQ.Settings.Get <GeneralSettings>().differentiateException == false ? ConsoleConstants.ErrorFoldoutColor : ConsoleConstants.ExceptionFoldoutColor, consoleIndex); } else if ((row.log.mode & (Mode.ScriptCompileError | Mode.ScriptingError | Mode.Fatal | Mode.Error | Mode.Assert | Mode.AssetImportError | Mode.ScriptingAssertion)) != 0) { interests.errorLogsInterests.Add(8F + stream.rowsDrawer.GetOffsetAtIndex(consoleIndex), ConsoleConstants.ErrorFoldoutColor, consoleIndex); } else if ((row.log.mode & (Mode.ScriptCompileWarning | Mode.ScriptingWarning | Mode.AssetImportWarning)) != 0) { interests.warningLogsInterests.Add(8F + stream.rowsDrawer.GetOffsetAtIndex(consoleIndex), ConsoleConstants.WarningFoldoutColor, consoleIndex); } else { goto skip; } } skip: List <ColorBackground> stamps = settings.colorBackgrounds; for (int j = 0; j < this.coloredRows.Count; j++) { if (this.coloredRows[j].row == row) { if (this.coloredRows[j].i < stamps.Count) { interests.filterInterests.Add(8F + stream.rowsDrawer.GetOffsetAtIndex(consoleIndex), stamps[this.coloredRows[j].i].color, consoleIndex); return; } } } List <ColorMarker> markers = settings.colorMarkers; for (int j = 0; j < markers.Count; j++) { if (markers[j].groupFilters.filters.Count > 0 && markers[j].groupFilters.Filter(row) == true) { interests.filterInterests.Add(8F + stream.rowsDrawer.GetOffsetAtIndex(consoleIndex), markers[j].backgroundColor, consoleIndex); return; } } IRowDotColored dotColored = row as IRowDotColored; if (dotColored != null) { interests.logTypeInterests.Add(8F + stream.rowsDrawer.GetOffsetAtIndex(consoleIndex), dotColored.GetColor(), consoleIndex); } }