using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class EquipDecomMailWin : Window { [SerializeField] Text decomText; [SerializeField] Button closeBtn; [SerializeField] Button okBtn; [SerializeField] GameObject getMatObj; [SerializeField] List getMatlist = new List(); PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel(); } } ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel(); } } protected override void BindController() { } protected override void AddListeners() { closeBtn.AddListener(CloseClick); okBtn.AddListener(CloseClick); } protected override void OnPreOpen() { playerPack.RefreshDecomAttrAct += RefreshDecompose; RefreshDecompose(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { playerPack.RefreshDecomAttrAct -= RefreshDecompose; } protected override void OnAfterClose() { } private void RefreshDecompose() { decomText.text = Language.Get("PetLetter2", playerPack.recordAutoDecomNum, playerPack.addDecomposeExp); List matInfolist = playerPack.SetShowMatInfo(); if (matInfolist.Count > 0) { getMatObj.SetActive(true); for(int i = 0; i < getMatlist.Count; i++) { if(i < matInfolist.Count) { getMatlist[i].gameObject.SetActive(true); PlayerPackModel.DecomposeGetMatInfo matInfo = matInfolist[i]; ItemCellModel cellModel = new ItemCellModel(matInfo.ItemID, false, (ulong)matInfo.Count, matInfo.IsBind, "", PackType.rptDeleted, false, ConfigParse.Analysis(matInfo.UserData)); getMatlist[i].Init(cellModel); getMatlist[i].cellBtn.RemoveAllListeners(); getMatlist[i].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); }); } else { getMatlist[i].gameObject.SetActive(false); } } } else { getMatObj.SetActive(false); } } } }