using System; using System.Collections.Generic; using UnityEngine; public class WFCheckBox : MonoBehaviour { public virtual void Awake() { if (this.Button != null) { EventDelegate.Add(this.Button.onClick, new EventDelegate.Callback(this.OnClockEvent)); } if (this.CheckMarkOffObject != null) { this.CheckMarkOffObject.SetActive(!this.check); } } protected virtual void OnClockEvent() { this.check = !this.check; for (int i = 0; i < this.onClick.Count; i++) { this.onClick[i](this); } } public new bool enabled { get { return this.Button.isEnabled; } set { this.Button.isEnabled = value; } } public bool visible { get { return base.gameObject.activeSelf; } set { base.gameObject.SetActive(value); } } public bool check { get { return this.CheckMarkObject.activeSelf; } set { this.CheckMarkObject.SetActive(value); if (this.CheckMarkOffObject != null) { this.CheckMarkOffObject.SetActive(!value); } } } public string text { get { return (!(this.LabelObject != null)) ? null : this.LabelObject.text; } set { if (this.LabelObject != null) { this.LabelObject.text = value; } } } public UILabel LabelObject; public GameObject CheckMarkObject; public GameObject CheckMarkOffObject; public UIButton Button; public List> onClick = new List>(); }