Ejemplo n.º 1
0
        private Rect    RowsDrawer_GlobalBeforeFoldout(RowsDrawer rowsDrawer, Rect r, int i, Row row)
        {
            if (HQ.Settings == null)
            {
                return(r);
            }

            ColorMarkersModuleSettings settings = HQ.Settings.Get <ColorMarkersModuleSettings>();
            List <ColorMarker>         markers  = settings.colorMarkers;
            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)
                    {
                        EditorGUI.DrawRect(r, stamps[this.coloredRows[j].i].color);
                    }
                    return(r);
                }
            }

            for (int j = 0; j < markers.Count; j++)
            {
                if (markers[j].groupFilters.filters.Count > 0 &&
                    markers[j].groupFilters.Filter(row) == true)
                {
                    EditorGUI.DrawRect(r, markers[j].backgroundColor);
                    break;
                }
            }

            return(r);
        }
Ejemplo n.º 2
0
        private void    AppendColorsMenuItem(GenericMenu menu, RowsDrawer rowsDrawer, int streamIndex, Row row)
        {
            if (HQ.Settings == null)
            {
                return;
            }

            ColorMarkersModuleSettings settings = HQ.Settings.Get <ColorMarkersModuleSettings>();

            for (int i = 0; i < settings.colorBackgrounds.Count; i++)
            {
                if (settings.colorBackgrounds[i].name != string.Empty)
                {
                    menu.AddItem(new GUIContent(settings.nestedMenu == true ? "Colors/" + settings.colorBackgrounds[i].name : settings.colorBackgrounds[i].name), this.coloredRows.Exists((e) => e.i == i && e.row == row), this.ToggleColor, new object[] { rowsDrawer, streamIndex, row, i });
                }
            }
        }
Ejemplo n.º 3
0
        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
            });
        }
Ejemplo n.º 4
0
        protected virtual void  OnGUI()
        {
            if (HQ.Settings == null)
            {
                GUILayout.Label(string.Format(LC.G("RequiringConfigurationFile"), ColorMarkersWizard.Title));
                if (GUILayout.Button(LC.G("ShowPreferencesWindow")) == true)
                {
                    Utility.ShowPreferencesWindowAt(Constants.PreferenceTitle);
                }
                return;
            }

            ColorMarkersModuleSettings settings = HQ.Settings.Get <ColorMarkersModuleSettings>();

            this.r.x      = 0F;
            this.r.y      = 0F;
            this.r.width  = this.position.width;
            this.r.height = Constants.SingleLineHeight;

            if (GUI.Button(r, LC.G("AddMarker")) == true)
            {
                if (this.CheckMaxColorMarkers(settings.colorMarkers.Count) == true)
                {
                    Undo.RecordObject(settings, "Add color marker");

                    ColorMarker        marker       = new ColorMarker();
                    MainModuleSettings mainSettings = HQ.Settings.Get <MainModuleSettings>();

                    foreach (ILogFilter filter in mainSettings.GenerateFilters())
                    {
                        marker.groupFilters.filters.Add(filter);
                    }

                    settings.colorMarkers.Add(marker);

                    this.RefreshAllStreams();
                }
            }

            this.r.y += this.r.height + ColorMarkersWizard.MarkerSpacing;

            float totalHeight = 0f;

            for (int i = 0; i < settings.colorMarkers.Count; i++)
            {
                while (this.folds.Count < settings.colorMarkers.Count)
                {
                    this.folds.Add(true);
                }

                totalHeight += this.r.height + ColorMarkersWizard.Spacing + ColorMarkersWizard.MarkerSpacing;
                if (this.folds[i] == true)
                {
                    totalHeight += this.r.height + ColorMarkersWizard.Spacing;

                    for (int j = 0; j < settings.colorMarkers[i].groupFilters.filters.Count; j++)
                    {
                        if (settings.colorMarkers[i].groupFilters.filters[j].Enabled == true)
                        {
                            totalHeight += this.r.height + 2F;
                        }
                    }
                }
            }

            totalHeight         -= ColorMarkersWizard.MarkerSpacing;
            this.viewRect.height = totalHeight;

            Rect body = this.r;

            body.height = this.position.height - this.r.y;

            this.scrollPosition = GUI.BeginScrollView(body, this.scrollPosition, this.viewRect);
            {
                float width = body.width;

                if (totalHeight > body.height)
                {
                    width -= 16F;
                }

                this.r.y = 0F;
                for (int i = 0; i < settings.colorMarkers.Count; i++)
                {
                    this.r.x     = 0F;
                    this.r.width = width;

                    GUI.Box(r, GUIContent.none, GeneralStyles.Toolbar);

                    this.r.width  = width - 325F;
                    this.folds[i] = EditorGUI.Foldout(this.r, this.folds[i], LC.G("Marker") + " #" + (i + 1));
                    this.r.x     += this.r.width;

                    this.r.width = 200F;

                    EditorGUI.BeginChangeCheck();
                    Color color = EditorGUI.ColorField(r, settings.colorMarkers[i].backgroundColor);
                    if (EditorGUI.EndChangeCheck() == true)
                    {
                        this.alteredColorMarker = settings.colorMarkers[i];
                        this.newColor           = color;

                        settings.colorMarkers[i].backgroundColor = color;
                        Utility.RepaintEditorWindow(typeof(NGConsoleWindow));
                        Utility.RegisterIntervalCallback(this.DelayedSetBackgroundcolor, 100, 1);
                    }
                    this.r.x += this.r.width;

                    this.r.width = 65F;
                    EditorGUI.DrawRect(this.r, settings.colorMarkers[i].backgroundColor);
                    EditorGUI.LabelField(this.r, "# # # # #");
                    this.r.x += this.r.width;

                    this.r.width = 20F;

                    EditorGUI.BeginDisabledGroup(i == 0);
                    {
                        if (GUI.Button(r, "↑", GeneralStyles.ToolbarButton) == true)
                        {
                            Undo.RecordObject(settings, "Reorder color marker");
                            settings.colorMarkers.Reverse(i - 1, 2);
                            this.RefreshAllStreams();
                            break;
                        }
                        this.r.x += this.r.width;

                        GUI.enabled = i < settings.colorMarkers.Count - 1;
                        if (GUI.Button(r, "↓", GeneralStyles.ToolbarButton) == true)
                        {
                            Undo.RecordObject(settings, "Reorder color marker");
                            settings.colorMarkers.Reverse(i, 2);
                            this.RefreshAllStreams();
                            break;
                        }
                        this.r.x += this.r.width;

                        GUI.enabled = true;
                        if (GUI.Button(r, "X", GeneralStyles.ToolbarCloseButton) == true)
                        {
                            Undo.RecordObject(settings, "Delete color marker");
                            settings.colorMarkers.RemoveAt(i);
                            this.RefreshAllStreams();
                            break;
                        }
                    }
                    EditorGUI.EndDisabledGroup();

                    this.r.y += this.r.height + ColorMarkersWizard.Spacing;

                    if (this.folds[i] == true)
                    {
                        this.r.x = 0F;

                        EditorGUI.BeginChangeCheck();
                        {
                            settings.colorMarkers[i].groupFilters.OnGUI(r);

                            this.r.y += this.r.height + ColorMarkersWizard.Spacing;

                            for (int j = 0; j < settings.colorMarkers[i].groupFilters.filters.Count; j++)
                            {
                                if (settings.colorMarkers[i].groupFilters.filters[j].Enabled == true)
                                {
                                    this.r.x     = 0F;
                                    this.r.width = width;
                                    this.r       = settings.colorMarkers[i].groupFilters.filters[j].OnGUI(this.r, false);
                                }
                            }
                        }
                        if (EditorGUI.EndChangeCheck() == true)
                        {
                            this.RefreshAllStreams();
                        }
                    }

                    this.r.y += ColorMarkersWizard.MarkerSpacing;
                }
            }
            GUI.EndScrollView();
        }
Ejemplo n.º 5
0
        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);
            }
        }