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