| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 | using FairyGUI;using UI.Card;namespace GFGGame{    public class CardSkillView : BaseWindow    {        private UI_CardSkillUI _ui;        // private PassivitySkillCfg _viewData;        private int _cardId;        private int _skillId;        private PassivitySkillCfg passivitySkillCfg;        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_btnUpLv.onClick.Add(OnClickBtnUp);            _ui.m_listConsume.itemRenderer = RenderListStarConsumeItem;            EventAgent.AddEventListener(ConstMessage.CARD_UP_SKILL, UpdateView);        }        protected override void OnShown()        {            base.OnShown();            _cardId = (int)(viewData as object[])[0];            _skillId = (int)(viewData as object[])[1];            SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);            passivitySkillCfg = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, skillData.lv);            _ui.m_txtName.text = passivitySkillCfg.name;            _ui.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(passivitySkillCfg.res);            UpdateView();        }        private void UpdateView()        {            _ui.m_c1.selectedIndex = 0;            SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);            int lv = skillData == null ? 1 : skillData.lv;            UpdateComLv(_ui.m_comCurLV, lv, lv + "级");            if (skillData != null && skillData.lv == SkillDataManager.Instance.dicPassivitySkill[_cardId][_skillId].Count) //已满级            {                _ui.m_c1.selectedIndex = 1;                return;            }            _ui.m_comConsume.m_txtCount.text = passivitySkillCfg.costNum.ToString();            UpdateComLv(_ui.m_comNextLv, lv + 1, "下一级");            _ui.m_listConsume.numItems = passivitySkillCfg.materiarsArr.Length;        }        private void UpdateComLv(UI_ComSkillDiscribe com, int lv, string title)        {            com.m_txtLv.text = title;            com.m_txtDiscribe.text = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, lv).describe;        }        private void RenderListStarConsumeItem(int index, GObject obj)        {            UI_ComStarConsume listItem = UI_ComStarConsume.Proxy(obj);            SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);            passivitySkillCfg = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, skillData.lv);            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(passivitySkillCfg.materiarsArr[index][0]);            listItem.target.data = passivitySkillCfg.materiarsArr[index][0];            listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);            int needCount = passivitySkillCfg.materiarsArr[index][1];            int hasCount = ItemDataManager.GetItemNum(passivitySkillCfg.materiarsArr[index][0]);            listItem.m_txtNeedCount.text = StringUtil.GetColorText(needCount.ToString(), hasCount < needCount ? "#FCBCBA" : "#FFF8EA"); ;            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 = passivitySkillCfg.materiarsArr[index][0];            if (hasCount < needCount)            {                //材料不足显示加号                listItem.m_btnPlus.visible = true;            }        }        private void OnClickBtnPlusStarConsum(int index)        {            int itemId = int.Parse(UI_ComStarConsume.Proxy(_ui.m_listConsume.GetChildAt(index)).target.data.ToString());            ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData } });        }        private void OnClickBtnUp()        {            if (ItemDataManager.GetItemNum(passivitySkillCfg.costID) < passivitySkillCfg.costNum)            {                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(passivitySkillCfg.costID);                PromptController.Instance.ShowFloatTextPrompt(itemCfg.name + "不足");                return;            }            bool isEnough = true;            for (int i = 0; i < passivitySkillCfg.materiarsArr.Length; i++)            {                int needCount = passivitySkillCfg.materiarsArr[i][1];                int hasCount = ItemDataManager.GetItemNum(passivitySkillCfg.materiarsArr[i][0]);                if (hasCount < needCount)                {                    isEnough = false;                    PromptController.Instance.ShowFloatTextPrompt("升级材料不足");                    break;                }            }            if (!isEnough) return;            ItemDataManager.Remove(passivitySkillCfg.costID, passivitySkillCfg.costNum);            for (int i = 0; i < passivitySkillCfg.materiarsArr.Length; i++)            {                ItemDataManager.Remove(passivitySkillCfg.materiarsArr[i][0], passivitySkillCfg.materiarsArr[i][1]);            }            SkillDataManager.Instance.UpSkill(_cardId, _skillId);        }        protected override void OnHide()        {            base.OnHide();        }    }}
 |