using System;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEditor;
|
using qtools.qhierarchy.pcomponent.pbase;
|
using qtools.qhierarchy.pdata;
|
using qtools.qhierarchy.phelper;
|
|
namespace qtools.qhierarchy.pcomponent
|
{
|
public class QSeparatorComponent: QBaseComponent
|
{
|
// PRIVATE
|
private Color separatorColor;
|
private Color shadingColor;
|
private bool showRowShading;
|
|
// CONSTRUCTOR
|
public QSeparatorComponent ()
|
{
|
separatorColor = new Color(0f, 0f, 0f, 0.15f);
|
shadingColor = new Color(0f, 0f, 0f, 0.05f);
|
|
showComponentDuringPlayMode = true;
|
|
QSettings.getInstance().addEventListener(QSetting.ShowRowShading, settingsChanged);
|
QSettings.getInstance().addEventListener(QSetting.ShowSeparatorComponent, settingsChanged);
|
settingsChanged();
|
}
|
|
// PRIVATE
|
private void settingsChanged()
|
{
|
showRowShading = QSettings.getInstance().get<bool>(QSetting.ShowRowShading);
|
enabled = QSettings.getInstance().get<bool>(QSetting.ShowSeparatorComponent);
|
}
|
|
// DRAW
|
public override void draw(GameObject gameObject, QObjectList objectList, Rect selectionRect, Rect curRect)
|
{
|
curRect.y = selectionRect.y + selectionRect.height - 1;
|
curRect.width = selectionRect.width + selectionRect.x;
|
curRect.height = 1;
|
curRect.x = 0;
|
|
EditorGUI.DrawRect(curRect, separatorColor);
|
|
if (showRowShading && (Mathf.FloorToInt(((selectionRect.y - 4) / 16) % 2) == 0))
|
{
|
selectionRect.width += selectionRect.x;
|
selectionRect.x = 0;
|
selectionRect.height -=1;
|
EditorGUI.DrawRect(selectionRect, shadingColor);
|
}
|
}
|
}
|
}
|