226 lines
5.4 KiB
C#
226 lines
5.4 KiB
C#
using System;
|
|
using UnityEngine.Events;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.Serialization;
|
|
|
|
namespace UnityEngine.UI
|
|
{
|
|
// Token: 0x0200007E RID: 126
|
|
[AddComponentMenu("UI/Toggle", 31)]
|
|
[RequireComponent(typeof(RectTransform))]
|
|
public class Toggle : Selectable, IPointerClickHandler, ISubmitHandler, ICanvasElement, IEventSystemHandler
|
|
{
|
|
// Token: 0x060004C8 RID: 1224 RVA: 0x0001A01A File Offset: 0x0001841A
|
|
protected Toggle()
|
|
{
|
|
}
|
|
|
|
// Token: 0x17000154 RID: 340
|
|
// (get) Token: 0x060004C9 RID: 1225 RVA: 0x0001A038 File Offset: 0x00018438
|
|
// (set) Token: 0x060004CA RID: 1226 RVA: 0x0001A053 File Offset: 0x00018453
|
|
public ToggleGroup group
|
|
{
|
|
get
|
|
{
|
|
return this.m_Group;
|
|
}
|
|
set
|
|
{
|
|
this.m_Group = value;
|
|
this.SetToggleGroup(this.m_Group, true);
|
|
this.PlayEffect(true);
|
|
}
|
|
}
|
|
|
|
// Token: 0x060004CB RID: 1227 RVA: 0x0001A073 File Offset: 0x00018473
|
|
public virtual void Rebuild(CanvasUpdate executing)
|
|
{
|
|
}
|
|
|
|
// Token: 0x060004CC RID: 1228 RVA: 0x0001A076 File Offset: 0x00018476
|
|
public virtual void LayoutComplete()
|
|
{
|
|
}
|
|
|
|
// Token: 0x060004CD RID: 1229 RVA: 0x0001A079 File Offset: 0x00018479
|
|
public virtual void GraphicUpdateComplete()
|
|
{
|
|
}
|
|
|
|
// Token: 0x060004CE RID: 1230 RVA: 0x0001A07C File Offset: 0x0001847C
|
|
protected override void OnEnable()
|
|
{
|
|
base.OnEnable();
|
|
this.SetToggleGroup(this.m_Group, false);
|
|
this.PlayEffect(true);
|
|
}
|
|
|
|
// Token: 0x060004CF RID: 1231 RVA: 0x0001A099 File Offset: 0x00018499
|
|
protected override void OnDisable()
|
|
{
|
|
this.SetToggleGroup(null, false);
|
|
base.OnDisable();
|
|
}
|
|
|
|
// Token: 0x060004D0 RID: 1232 RVA: 0x0001A0AC File Offset: 0x000184AC
|
|
protected override void OnDidApplyAnimationProperties()
|
|
{
|
|
if (this.graphic != null)
|
|
{
|
|
bool flag = !Mathf.Approximately(this.graphic.canvasRenderer.GetColor().a, 0f);
|
|
if (this.m_IsOn != flag)
|
|
{
|
|
this.m_IsOn = flag;
|
|
this.Set(!flag);
|
|
}
|
|
}
|
|
base.OnDidApplyAnimationProperties();
|
|
}
|
|
|
|
// Token: 0x060004D1 RID: 1233 RVA: 0x0001A118 File Offset: 0x00018518
|
|
private void SetToggleGroup(ToggleGroup newGroup, bool setMemberValue)
|
|
{
|
|
ToggleGroup group = this.m_Group;
|
|
if (this.m_Group != null)
|
|
{
|
|
this.m_Group.UnregisterToggle(this);
|
|
}
|
|
if (setMemberValue)
|
|
{
|
|
this.m_Group = newGroup;
|
|
}
|
|
if (newGroup != null && this.IsActive())
|
|
{
|
|
newGroup.RegisterToggle(this);
|
|
}
|
|
if (newGroup != null && newGroup != group && this.isOn && this.IsActive())
|
|
{
|
|
newGroup.NotifyToggleOn(this);
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000155 RID: 341
|
|
// (get) Token: 0x060004D2 RID: 1234 RVA: 0x0001A1AC File Offset: 0x000185AC
|
|
// (set) Token: 0x060004D3 RID: 1235 RVA: 0x0001A1C7 File Offset: 0x000185C7
|
|
public bool isOn
|
|
{
|
|
get
|
|
{
|
|
return this.m_IsOn;
|
|
}
|
|
set
|
|
{
|
|
this.Set(value);
|
|
}
|
|
}
|
|
|
|
// Token: 0x060004D4 RID: 1236 RVA: 0x0001A1D1 File Offset: 0x000185D1
|
|
private void Set(bool value)
|
|
{
|
|
this.Set(value, true);
|
|
}
|
|
|
|
// Token: 0x060004D5 RID: 1237 RVA: 0x0001A1DC File Offset: 0x000185DC
|
|
private void Set(bool value, bool sendCallback)
|
|
{
|
|
if (this.m_IsOn != value)
|
|
{
|
|
this.m_IsOn = value;
|
|
if (this.m_Group != null && this.IsActive())
|
|
{
|
|
if (this.m_IsOn || (!this.m_Group.AnyTogglesOn() && !this.m_Group.allowSwitchOff))
|
|
{
|
|
this.m_IsOn = true;
|
|
this.m_Group.NotifyToggleOn(this);
|
|
}
|
|
}
|
|
this.PlayEffect(this.toggleTransition == Toggle.ToggleTransition.None);
|
|
if (sendCallback)
|
|
{
|
|
UISystemProfilerApi.AddMarker("Toggle.value", this);
|
|
this.onValueChanged.Invoke(this.m_IsOn);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060004D6 RID: 1238 RVA: 0x0001A294 File Offset: 0x00018694
|
|
private void PlayEffect(bool instant)
|
|
{
|
|
if (!(this.graphic == null))
|
|
{
|
|
this.graphic.CrossFadeAlpha((!this.m_IsOn) ? 0f : 1f, (!instant) ? 0.1f : 0f, true);
|
|
}
|
|
}
|
|
|
|
// Token: 0x060004D7 RID: 1239 RVA: 0x0001A2F3 File Offset: 0x000186F3
|
|
protected override void Start()
|
|
{
|
|
this.PlayEffect(true);
|
|
}
|
|
|
|
// Token: 0x060004D8 RID: 1240 RVA: 0x0001A2FD File Offset: 0x000186FD
|
|
private void InternalToggle()
|
|
{
|
|
if (this.IsActive() && this.IsInteractable())
|
|
{
|
|
this.isOn = !this.isOn;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060004D9 RID: 1241 RVA: 0x0001A32A File Offset: 0x0001872A
|
|
public virtual void OnPointerClick(PointerEventData eventData)
|
|
{
|
|
if (eventData.button == PointerEventData.InputButton.Left)
|
|
{
|
|
this.InternalToggle();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060004DA RID: 1242 RVA: 0x0001A343 File Offset: 0x00018743
|
|
public virtual void OnSubmit(BaseEventData eventData)
|
|
{
|
|
this.InternalToggle();
|
|
}
|
|
|
|
// Token: 0x060004DB RID: 1243 RVA: 0x0001A34C File Offset: 0x0001874C
|
|
Transform ICanvasElement.get_transform()
|
|
{
|
|
return base.transform;
|
|
}
|
|
|
|
// Token: 0x04000249 RID: 585
|
|
public Toggle.ToggleTransition toggleTransition = Toggle.ToggleTransition.Fade;
|
|
|
|
// Token: 0x0400024A RID: 586
|
|
public Graphic graphic;
|
|
|
|
// Token: 0x0400024B RID: 587
|
|
[SerializeField]
|
|
private ToggleGroup m_Group;
|
|
|
|
// Token: 0x0400024C RID: 588
|
|
public Toggle.ToggleEvent onValueChanged = new Toggle.ToggleEvent();
|
|
|
|
// Token: 0x0400024D RID: 589
|
|
[FormerlySerializedAs("m_IsActive")]
|
|
[Tooltip("Is the toggle currently on or off?")]
|
|
[SerializeField]
|
|
private bool m_IsOn;
|
|
|
|
// Token: 0x0200007F RID: 127
|
|
public enum ToggleTransition
|
|
{
|
|
// Token: 0x0400024F RID: 591
|
|
None,
|
|
// Token: 0x04000250 RID: 592
|
|
Fade
|
|
}
|
|
|
|
// Token: 0x02000080 RID: 128
|
|
[Serializable]
|
|
public class ToggleEvent : UnityEvent<bool>
|
|
{
|
|
}
|
|
}
|
|
}
|