示例#1
0
    protected override void RowGUI(RowGUIArgs args)
    {
        int row = args.row;

        object[] arg = new object[4] {
            row, 2, 0, ""
        };
        ConsoleX.getLinesAndModeFromEntryInternalMethod.Invoke(null, arg);

        int    mode = (int)arg[2];
        string text = arg[3].ToString();

        if (reg != null)
        {
            if (reg.IsMatch(text))
            {
                GUI.contentColor = Color.cyan;
            }
            else
            {
                GUI.contentColor = Color.gray;
            }
        }
        else
        {
            GUI.contentColor = Color.white;
        }

        EditorGUI.DrawRect(new Rect(args.rowRect.x + 4, args.rowRect.y + 12, 8, 8), ConsoleX.GetColorByMode(mode));
        EditorGUI.LabelField(new Rect(args.rowRect.x + 16, args.rowRect.y, args.rowRect.width - 16, args.rowRect.height), text);
        if (collapse)
        {
            int count = (int)ConsoleX.getEntryCountMethod.Invoke(null, new object[1] {
                row
            });
            EditorGUI.LabelField(new Rect(args.rowRect.width - 48, args.rowRect.y + 8, 40, 16), count > 999 ? "999+" : count.ToString(), EditorStyles.miniButton);
        }

        GUI.contentColor = Color.white;
    }