// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-03-26 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; namespace G.UI { partial class PetWindow { class ReplacePanel : KUIWidget { #region Field #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] Button _btnClose; [KUIFlag] Button _btnReplace; [KUIFlag] KUIList __listOldSkills; [KUIFlag] KUIList __listNewSkills; [KUIFlag] TextMeshProUGUI _tmpOldCV; [KUIFlag] TextMeshProUGUI _tmpNewCV; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null private readonly List _skillWidgets = new List(8); #endregion #region Method public override void Refresh() { if (this.data is PetProxy.PetInfo petInfo) { RefreshOldSkills(petInfo.skills); RefreshNewSkills(petInfo.recastSkills); } } void RefreshOldSkills(IList petSkills) { __listOldSkills.Clear(); int combatValue = 0; for (int i = 0; i < petSkills.Count; i++) { if (petSkills[i] != null) { var widget = __listOldSkills.GetItem(); widget.SetData(petSkills[i]); combatValue += petSkills[i].item.combatValue; } } _tmpOldCV.text = combatValue.ToString(); } void RefreshNewSkills(IList petSkills) { __listNewSkills.Clear(); int combatValue = 0; for (int i = 0; i < petSkills.Count; i++) { if (petSkills[i] != null) { var widget = __listNewSkills.GetItem(); widget.SetData(petSkills[i]); combatValue += petSkills[i].item.combatValue; } } _tmpNewCV.text = combatValue.ToString(); } void OnReplaceBtnClick() { if (this.data is PetProxy.PetInfo petInfo) { petInfo.ApplyRecast(); this.Close(); GetWindow().ShowRecastPanel(false); } } void OnCloseBtnClick() { this.Close(); GetWindow().ShowRecastPanel(false); } #endregion #region Unity private void Awake() { SetViewData(); __listOldSkills.AddTemplate(true); __listNewSkills.AddTemplate(true); _btnClose.onClick.AddListener(this.OnCloseBtnClick); _btnReplace.onClick.AddListener(this.OnReplaceBtnClick); } #endregion } } }