using System; using System.Collections.Generic; using UnityEngine; public class WindowPartsPopUpList : MonoBehaviour { public virtual void Awake() { EventDelegate.Add(this.PopupList.onChange, delegate() { if (this.onChangePopUpListValue == null || this.onChangePopUpListValue.Count <= 0) { return; } bool flag = false; KeyValuePair obj = new KeyValuePair(string.Empty, null); for (int j = 0; j < this.popup_value_list_.Count; j++) { if (this.popup_value_list_[j].Key == this.PopupList.value) { obj = this.popup_value_list_[j]; flag = true; break; } } if (flag) { for (int k = 0; k < this.onChangePopUpListValue.Count; k++) { this.onChangePopUpListValue[k](obj); } } }); this.init_popup_list_value_ = new List(this.PopupList.items); this.popup_value_list_ = new List>(); for (int i = 0; i < this.init_popup_list_value_.Count; i++) { this.popup_value_list_.Add(new KeyValuePair(this.init_popup_list_value_[i], null)); } } public virtual bool SetPopupValue(string name) { this.PopupList.Close(); for (int i = 0; i < this.popup_value_list_.Count; i++) { if (this.popup_value_list_[i].Key == name) { this.PopupList.value = name; return true; } } return false; } public KeyValuePair popup_select_value { get { for (int i = 0; i < this.popup_value_list_.Count; i++) { if (this.popup_value_list_[i].Key == this.PopupList.value) { return this.popup_value_list_[i]; } } if (0 < this.popup_value_list_.Count) { return this.popup_value_list_[0]; } return new KeyValuePair(string.Empty, null); } } public List> popup_value_list { get { if (this.popup_value_list_ != null) { return new List>(this.popup_value_list_); } return null; } set { this.popup_value_list_ = null; if (value != null) { this.popup_value_list_ = new List>(value); } else { this.popup_value_list_ = new List>(); for (int i = 0; i < this.init_popup_list_value_.Count; i++) { this.popup_value_list_.Add(new KeyValuePair(this.init_popup_list_value_[i], null)); } } List list = new List(); for (int j = 0; j < this.popup_value_list_.Count; j++) { list.Add(this.popup_value_list_[j].Key); } this.PopupList.items = list; } } public UIPopupList PopupList; public List>> onChangePopUpListValue = new List>>(); private List> popup_value_list_; private List init_popup_list_value_; }