Files
2026-02-21 16:45:37 +08:00

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()
{
}
}
}