namespace UIWidgets { using UIWidgets.Styles; using UnityEngine; using UnityEngine.UI; /// /// PickerBool. /// public class PickerBool : Picker, IUpgradeable { /// /// Message. /// [SerializeField] [HideInInspector] [System.Obsolete("Replaced with MessageAdapter.")] protected Text Message; /// /// Message. /// [SerializeField] protected TextAdapter MessageAdapter; /// /// Set message. /// /// Message text. public virtual void SetMessage(string message) { MessageAdapter.text = message; } /// /// Prepare picker to open. /// /// Default value. public override void BeforeOpen(bool defaultValue) { } /// /// Select true value. /// public void Yes() { Selected(true); } /// /// Select false value. /// public void No() { Selected(false); } /// /// Prepare picker to close. /// public override void BeforeClose() { } /// /// Upgrade this instance. /// public virtual void Upgrade() { #pragma warning disable 0612, 0618 Utilities.GetOrAddComponent(Message, ref MessageAdapter); #pragma warning restore 0612, 0618 } #if UNITY_EDITOR /// /// Validate this instance. /// protected virtual void OnValidate() { Compatibility.Upgrade(this); } #endif #region IStylable implementation /// public override bool SetStyle(Style style) { base.SetStyle(style); if (MessageAdapter != null) { style.Dialog.ContentText.ApplyTo(MessageAdapter.gameObject); } style.Dialog.Button.ApplyTo(transform.Find("Buttons/Yes")); style.Dialog.Button.ApplyTo(transform.Find("Buttons/No")); style.Dialog.Button.ApplyTo(transform.Find("Buttons/Cancel")); return true; } /// public override bool GetStyle(Style style) { base.GetStyle(style); if (MessageAdapter != null) { style.Dialog.ContentText.GetFrom(MessageAdapter.gameObject); } style.Dialog.Button.GetFrom(transform.Find("Buttons/Yes")); style.Dialog.Button.GetFrom(transform.Find("Buttons/No")); style.Dialog.Button.GetFrom(transform.Find("Buttons/Cancel")); return true; } #endregion } }