Files
2026-06-04 11:42:34 +02:00

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