コード例 #1
0
ファイル: ColorMarkersModule.cs プロジェクト: Hengle/clapotis
        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
            });
        }
コード例 #2
0
ファイル: ColorMarkersModule.cs プロジェクト: Hengle/clapotis
        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);
            });
        }
コード例 #3
0
ファイル: ColorMarkersModule.cs プロジェクト: Hengle/clapotis
        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);
            }
        }