70 lines
1.4 KiB
C#
70 lines
1.4 KiB
C#
using SRF;
|
|
using UnityEngine.UI;
|
|
|
|
namespace SRDebugger.UI.Controls
|
|
{
|
|
public abstract class OptionsControlBase : SRMonoBehaviourEx
|
|
{
|
|
private bool _selectionModeEnabled;
|
|
|
|
[RequiredField]
|
|
public Toggle SelectionModeToggle;
|
|
|
|
public bool SelectionModeEnabled
|
|
{
|
|
get
|
|
{
|
|
return _selectionModeEnabled;
|
|
}
|
|
set
|
|
{
|
|
if (value != _selectionModeEnabled)
|
|
{
|
|
_selectionModeEnabled = value;
|
|
SelectionModeToggle.gameObject.SetActive(_selectionModeEnabled);
|
|
if (SelectionModeToggle.graphic != null)
|
|
{
|
|
SelectionModeToggle.graphic.CrossFadeAlpha((!IsSelected) ? 0f : ((!_selectionModeEnabled) ? 0.2f : 1f), 0f, true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public bool IsSelected
|
|
{
|
|
get
|
|
{
|
|
return SelectionModeToggle.isOn;
|
|
}
|
|
set
|
|
{
|
|
SelectionModeToggle.isOn = value;
|
|
if (SelectionModeToggle.graphic != null)
|
|
{
|
|
SelectionModeToggle.graphic.CrossFadeAlpha((!value) ? 0f : ((!_selectionModeEnabled) ? 0.2f : 1f), 0f, true);
|
|
}
|
|
}
|
|
}
|
|
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
IsSelected = false;
|
|
SelectionModeToggle.gameObject.SetActive(false);
|
|
}
|
|
|
|
protected override void OnEnable()
|
|
{
|
|
base.OnEnable();
|
|
if (SelectionModeToggle.graphic != null)
|
|
{
|
|
SelectionModeToggle.graphic.CrossFadeAlpha((!IsSelected) ? 0f : ((!_selectionModeEnabled) ? 0.2f : 1f), 0f, true);
|
|
}
|
|
}
|
|
|
|
public virtual void Refresh()
|
|
{
|
|
}
|
|
}
|
|
}
|