using FairyGUI; using UI.Card; namespace GFGGame { public class CardSkillView : BaseWindow { private UI_CardSkillUI _ui; private PassivitySkillCfg _viewData; public override void Dispose() { base.Dispose(); } protected override void OnInit() { base.OnInit(); _ui = UI_CardSkillUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; _ui.m_listConsume.itemRenderer = RenderListStarConsumeItem; } protected override void OnShown() { base.OnShown(); _viewData = (PassivitySkillCfg)viewData; _ui.m_txtName.text = _viewData.name; } private void UpdateView() { _ui.m_c1.selectedIndex = 0; SkillData skillData = SkillDataManager.Instance.skillData.ContainsKey(_viewData.skillId) ? SkillDataManager.Instance.skillData[_viewData.skillId] : null; int lv = skillData == null ? 1 : skillData.lv; UpdateComLv(_ui.m_comCurLV, lv, lv + "级"); if (skillData != null && skillData.lv == PassivitySkillCfgArray.Instance.GetCfgs(_viewData.id).Length) //已满级 { _ui.m_c1.selectedIndex = 1; return; } UpdateComLv(_ui.m_comNextLv, lv + 1, "下一级"); } private void UpdateComLv(UI_ComSkillDiscribe com, int lv, string title) { com.m_txtLv.text = title; com.m_txtDiscribe.text = CardSkillCfgArray.Instance.GetCfgs(_viewData.skillId.ToString())[lv - 1].describe; } private void RenderListStarConsumeItem(int index, GObject obj) { UI_ComStarConsume listItem = UI_ComStarConsume.Proxy(obj); CardStarCfg cardStarCfg = listItem.target.parent.data as CardStarCfg; listItem.target.data = cardStarCfg.materiarsArr[index][0]; ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cardStarCfg.materiarsArr[index][0]); listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg); int needCount = cardStarCfg.materiarsArr[index][1]; int hasCount = ItemDataManager.GetItemNum(cardStarCfg.materiarsArr[index][0]); listItem.m_txtNeedCount.text = StringUtil.GetColorText(needCount.ToString(), hasCount < needCount ? "#D27869" : "#FDF3D7"); ; listItem.m_txtHasCount.text = hasCount.ToString(); listItem.m_btnPlus.visible = false; if (listItem.m_btnPlus.data == null) { listItem.m_btnPlus.onClick.Add(() => OnClickBtnPlusStarConsum(index)); } listItem.m_btnPlus.data = cardStarCfg.materiarsArr[index][0]; if (hasCount < needCount) { //材料不足显示加号 // _comFosterBottom.m_btnUpStar.data = 1; listItem.m_btnPlus.visible = true; } } private void OnClickBtnPlusStarConsum(int index) { // int itemId = int.Parse(UI_ComStarConsume.Proxy(_comFosterBottom.m_listStarConsume.GetChildAt(index)).target.data.ToString()); // ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData } }); } protected override void OnHide() { base.OnHide(); } } }