using UnityEngine; using UnityEngine.UI; using System; [Serializable] public class ComboBoxItem { [SerializeField] private string _caption; public string Caption { get { return _caption; } set { _caption = value; if (OnUpdate != null) OnUpdate(); } } [SerializeField] private Sprite _image; public Sprite Image { get { return _image; } set { _image = value; if (OnUpdate != null) OnUpdate(); } } [SerializeField] private bool _isDisabled; public bool IsDisabled { get { return _isDisabled; } set { _isDisabled = value; if (OnUpdate != null) OnUpdate(); } } public Action OnSelect; internal Action OnUpdate; public ComboBoxItem(string caption) { _caption = caption; } public ComboBoxItem(Sprite image) { _image = image; } public ComboBoxItem(string caption, bool disabled) { _caption = caption; _isDisabled = disabled; } public ComboBoxItem(Sprite image, bool disabled) { _image = image; _isDisabled = disabled; } public ComboBoxItem(string caption, Sprite image, bool disabled) { _caption = caption; _image = image; _isDisabled = disabled; } public ComboBoxItem(string caption, Sprite image, bool disabled, Action onSelect) { _caption = caption; _image = image; _isDisabled = disabled; OnSelect = onSelect; } public ComboBoxItem(string caption, Sprite image, Action onSelect) { _caption = caption; _image = image; OnSelect = onSelect; } public ComboBoxItem(string caption, Action onSelect) { _caption = caption; OnSelect = onSelect; } public ComboBoxItem(Sprite image, Action onSelect) { _image = image; OnSelect = onSelect; } }