using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class ExchangeGetItemWin : Window { [SerializeField] GameObject getItemObj; [SerializeField] RectTransform getItemParent; [SerializeField] Button sureBtn; List GetItemlist = new List(); AwardExchangeModel exchange { get { return ModelCenter.Instance.GetModel(); } } ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel(); } } protected override void BindController() { } protected override void AddListeners() { sureBtn.AddListener(CloseClick); } protected override void OnPreOpen() { getItemObj.SetActive(false); CreateGetItem(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { DestroyGetItemlist(); } protected override void OnAfterClose() { } private void CreateGetItem() { GetItemlist.Clear(); if (exchange.getItems == null) return; for (int i = 0; i < exchange.getItems.Length; i++) { GameObject item = Instantiate(getItemObj); PlayerPackModel.DecomposeGetMatInfo matInfo = exchange.getItems[i]; item.transform.SetParent(getItemParent); item.transform.localPosition = Vector3.zero; item.transform.localScale = Vector3.one; item.name = StringUtility.Contact("getItem",i); item.gameObject.SetActive(true); CommonItemBaisc itemBasic = item.transform.Find("CommonItemCell").GetComponent(); ItemCellModel cellModel = new ItemCellModel(matInfo.ItemID, false, (ulong)matInfo.Count, matInfo.IsBind, "", PackType.rptDeleted, false, ConfigParse.Analysis(matInfo.UserData)); itemBasic.Init(cellModel); itemBasic.cellBtn.RemoveAllListeners(); itemBasic.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(matInfo.ItemID, false, (ulong)matInfo.Count, -1, matInfo.IsBind, false, PackType.rptDeleted, "", ConfigParse.Analysis(matInfo.UserData)); tipsModel.SetItemTipsModel(attrData); }); itemBasic.gameObject.SetActive(true); GetItemlist.Add(item); } } private void DestroyGetItemlist() { for (int i = 0; i < GetItemlist.Count; i++) { Destroy(GetItemlist[i]); } } } }