| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684 | using FairyGUI;using UI.Card;using UI.CommonGame;using UI_ComConsume = UI.Card.UI_ComConsume;using System.Collections.Generic;using UnityEngine;using System.Timers;namespace GFGGame{    public class CardFosterView : BaseView    {        private UI_CardFosterUI _ui;        private UI_ComFosterBottom _comFosterBottom;        private ValueBarController _valueBarController;        private CardData _viewData = new CardData();        private int _selectTab = 0;        private GameObject _cardObj;        private GoWrapper _wrapper;        private GObject _consumeSelectItem;//选中的材料item        private int _consumeSelectIndex = 0;//0为减,1为加        //private Timer _timer;        private const float _delay = 300;        private double _selectTimeCount = 0;//长按时间        private int _showLv = 0;        private int _showExp = 0;        private float _cardScale = 0.8f;        public override void Dispose()        {            _valueBarController.Dispose();            _valueBarController = null;            UI_ComConsume.ClearProxy();            if (_cardObj != null)            {                GameObject.Destroy(_cardObj);                _cardObj = null;            }            base.Dispose();        }        protected override void OnInit()        {            base.OnInit();            _ui = UI_CardFosterUI.Create();            viewCom = _ui.target;            isfullScreen = true;            _comFosterBottom = _ui.m_ComFosterBottom;            //公共组件:返回,页签,属性列表            _ui.m_ComFosterTop.m_btnback.onClick.Add(OnClickBtnBack);            _comFosterBottom.m_ctrlTab.onChanged.Add(OnChangeCtrlTab);            _comFosterBottom.m_listProperty.itemRenderer = RenderListPropertyItem;            //卡面和故事界面            _comFosterBottom.m_btnStory.onClick.Add(OnClickBtnStroy);            //升级升星按钮            _comFosterBottom.m_btnUpLv.onClick.Add(OnClickBtnUpLv);            _comFosterBottom.m_btnAll.onClick.Add(OnClcikBtnAll);            _comFosterBottom.m_btnUpStar.onClick.Add(OnClickBtnUpStar);            //升级升星消耗材料列表            _comFosterBottom.m_listLvConsume.itemRenderer = RenderListLvConsumeItem;            _comFosterBottom.m_listStarConsume.itemRenderer = RenderListStarConsumeItem;            _comFosterBottom.m_listSkill.itemRenderer = RenderListSkilItem;            //满星级后卡面列表            _comFosterBottom.m_listShowCard.itemRenderer = RenderListShowCardItem;            _comFosterBottom.m_listShowCard.onClickItem.Add(OnClickShowCardListItem);            _ui.m_loaCard.onClick.Add(OnClickLoaCard);            _ui.m_loaListener.onClick.Add(OnClickComCard);            _ui.m_comCard.target.onClick.Add(OnClickComCard);            //_ui.m_btnUpSkill.onClick.Add(OnClickBtnUpSkill);            EventAgent.AddEventListener(ConstMessage.PLAT_CARDFOSTER_T1, () =>            {                _ui.m_t1.Play();            });            EventAgent.AddEventListener(ConstMessage.CARD_UP_SKILL, UpSkill);        }        protected override void OnShown()        {            base.OnShown();            _cardScale = _ui.target.height * 0.8f / _ui.target.initHeight;            Input.multiTouchEnabled = false;            this.UpdateCommon();            this.UpdateNormal();            this.UpdateCardRes();            this.UpdateUpLvView();            _comFosterBottom.m_ctrlTab.selectedIndex = this._selectTab;            EventAgent.AddEventListener(ConstMessage.MONEY_CHANGE, UpdateUpStarView);            GuideController.TryGuideCardFosterViewBtnStar(_ui.m_ComFosterBottom.m_btnStar);        }        private void UpdateNormal()        {            _comFosterBottom.m_txtName.text = _viewData.itemCfg.name;            _comFosterBottom.m_btnStory.visible = CardCfgManager.GetStoryCfgsById(_viewData.id).Count > 0 ? true : false;            _comFosterBottom.m_btnUpLv.grayed = true;            _comFosterBottom.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sx_da_" + (5 - _viewData.itemCfg.rarity));            _valueBarController = new ValueBarController(_ui.m_ComFosterTop.m_comValueBar, 5);            _valueBarController.OnShown();        }        private void UpdateCommon()        {            _viewData = CardDataManager.GetCardDataById((this.viewData as CardData).id);            _comFosterBottom.m_listProperty.numItems = _viewData.scores.Count;            _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text = "0";        }        private void UpdateCardRes()        {            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_viewData.itemCfg.subType, _viewData.itemCfg.rarity);            if (_viewData.res == _viewData.itemCfg.res || _viewData.star < cardStarCfgs.Count)            {                _ui.m_comCard.target.visible = false;                _ui.m_loaCard.visible = true;                _ui.m_loaListener.visible = false;                _ui.m_loaCard.url = ResPathUtil.GetCardPath(_viewData.res);                _ui.m_loaCard.width = _ui.m_loaCard.image.width;            }            else            {                _ui.m_loaListener.visible = true;                _ui.m_comCard.target.visible = true;                _ui.m_loaCard.visible = false;                int scale = 100;                if (_cardObj != null)                {                    GameObject.Destroy(_cardObj);                    _cardObj = null;                }                string resPath = ResPathUtil.GetCardAnimationPath(_viewData.res);                _cardObj = DressUpUtil.AddAnimationObj(resPath);                _cardObj.transform.localScale = new Vector3(scale, scale, scale);                if (_wrapper == null)                {                    _wrapper = new GoWrapper(_cardObj);                    _ui.m_comCard.m_comCardHolder.m_holder.SetNativeObject(_wrapper);                }                else                {                    _wrapper.wrapTarget = _cardObj;                }                _ui.m_comCard.target.scrollPane.SetPercX(0.5f, false);                _ui.m_comCard.target.SetScale(_cardScale, _cardScale);            }        }        private void RenderListPropertyItem(int index, GObject obj)        {            UI_ListPropertyItem listItem = UI_ListPropertyItem.Proxy(obj);            listItem.m_txtProperty.text = _viewData.scores[index + 1].ToString();            listItem.m_loaIcon.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + (index + 1));            UI_ListPropertyItem.ProxyEnd();        }        /***********************************************************升级***************************************************/        private void UpdateUpLvView(bool isPreview = false, int lv = 0, int exp = 0)        {            _showLv = isPreview == true ? lv : _viewData.lv;            _showExp = isPreview == true ? exp : _viewData.exp;            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_viewData.itemCfg.rarity, _showLv);            _comFosterBottom.m_barLv.max = cardLvCfg.needExp;            _comFosterBottom.m_barLv.value = _showExp;            _comFosterBottom.m_txtMaxLv.text = (CardCfgManager.GetCardLvCfgsByRarity(_viewData.itemCfg.rarity).Count - 1).ToString();            _comFosterBottom.m_txtCurLv.text = StringUtil.GetColorText(_showLv.ToString(), _showLv < int.Parse(_comFosterBottom.m_txtMaxLv.text) ? "#D27869" : "#7D6956");            _comFosterBottom.m_txtMaxExp.text = cardLvCfg.needExp.ToString();            _comFosterBottom.m_txtCurExp.text = _showExp.ToString();            _comFosterBottom.m_btnUpLv.grayed = _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text == "0" ? true : false;            _comFosterBottom.m_ctrlFullLv.selectedIndex = CardDataManager.isFullLv(_viewData.id, _viewData.lv, false) ? 1 : 0;            if (isPreview == true)            {                return;            }            _comFosterBottom.m_listLvConsume.numItems = cardLvCfg.materiarsArr.Length;        }        private void RenderListLvConsumeItem(int index, GObject obj)        {            UI_ComConsume listItem = UI_ComConsume.Proxy(obj);            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_viewData.itemCfg.rarity, _viewData.lv);            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cardLvCfg.materiarsArr[index]);            listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);            listItem.m_txtNum.text = ItemDataManager.GetItemNum(itemCfg.id).ToString();            listItem.m_txtUseCount.text = "0";            listItem.target.data = itemCfg;            if (listItem.m_btnMinus.data == null)            {                listItem.m_btnMinus.onTouchBegin.Add(() => OnClickItemConsumsBegin(obj, 0));                listItem.m_btnMinus.onTouchEnd.Add(() => OnClickItemLvConsumsEnd());            }            if (listItem.m_loaItem.data == null)            {                listItem.m_loaItem.onTouchBegin.Add(() => OnClickItemConsumsBegin(obj, 1));                listItem.m_loaItem.onTouchEnd.Add(() => OnClickItemLvConsumsEnd());            }            listItem.m_btnMinus.data = index;            listItem.m_loaItem.data = index;            UI_ComConsume.ProxyEnd();        }        private void OnClickItemConsumsBegin(GObject obj, int index)        {            UI_ComConsume listItem = UI_ComConsume.Proxy(obj);            _consumeSelectItem = obj;            _consumeSelectIndex = index;            if (index == 1)            {                if (ItemDataManager.GetItemNum((listItem.target.data as ItemCfg).id) == 0)                {                    ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { (listItem.target.data as ItemCfg).id, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData } });                }            }            //_timer.Start();            Timers.inst.Add(0.3f, 0, OnTimedEvent);        }        private void OnTimedEvent(object param)        {            _selectTimeCount += _delay;            if (_selectTimeCount >= 900)//大于900毫秒才算长按            {                if (_consumeSelectIndex == 0)                {                    UI_ComConsume listItem = UI_ComConsume.Proxy(_consumeSelectItem);                    if (!CommonUtil.Instance.CheckPointIsOnComponent(listItem.m_btnMinus, CommonUtil.Instance.GetMouseV2Point()))                    {                        Timers.inst.Remove(OnTimedEvent);                        return;                    }                    this.OnClickBtnMinus(_consumeSelectItem);                }                else                {                    if (!CommonUtil.Instance.CheckPointIsOnComponent(_consumeSelectItem, CommonUtil.Instance.GetMouseV2Point()))                    {                        Timers.inst.Remove(OnTimedEvent);                        return;                    }                    this.OnClickBtnPlusLvConsume(_consumeSelectItem);                }            }        }        private void OnClickItemLvConsumsEnd()        {            //_timer.Stop();            Timers.inst.Remove(OnTimedEvent);            _selectTimeCount = 0;            if (_consumeSelectIndex == 0)            {                this.OnClickBtnMinus(_consumeSelectItem);            }            else            {                this.OnClickBtnPlusLvConsume(_consumeSelectItem);            }        }        //返回值为此材料是否可继续消耗此材料继续升级        private bool OnClickBtnPlusLvConsume(GObject obj, bool showTips = true)        {            UI_ComConsume listItem = UI_ComConsume.Proxy(obj);            ItemCfg itemCfg = (listItem.target.data as ItemCfg);            string count = listItem.m_txtUseCount.text;            if (int.Parse(count) == ItemDataManager.GetItemNum(itemCfg.id))            {                Timers.inst.Remove(OnTimedEvent);                return false;            }            if (_showLv == (CardCfgManager.GetCardLvCfgsByRarity(_viewData.itemCfg.rarity).Count - 1) && _comFosterBottom.m_barLv.max == _comFosterBottom.m_barLv.value)            {                Timers.inst.Remove(OnTimedEvent);                if (showTips == true)                {                    PromptController.Instance.ShowFloatTextPrompt("已达到最大等级");                }                return false;            }            listItem.m_txtUseCount.text = (int.Parse(count) + 1).ToString();            this.UpdatePreView();            return true;        }        private void OnClickBtnMinus(GObject obj)        {            UI_ComConsume listItem = UI_ComConsume.Proxy(obj);            string count = listItem.m_txtUseCount.text;            if (int.Parse(count) == 0)            {                Timers.inst.Remove(OnTimedEvent);                return;            }            listItem.m_txtUseCount.text = (int.Parse(count) - 1).ToString();            this.UpdatePreView();        }        private void UpdatePreView()        {            int count = 0;//消耗金币数量            int hasExp = 0;//消耗材料提升的总经验            for (int i = 0; i < _comFosterBottom.m_listLvConsume.numItems; i++)            {                UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i));                if (int.Parse(listItem.m_txtUseCount.text) == 0) { continue; }                ItemCfg itemCfg = (listItem.target.data as ItemCfg);                count += itemCfg.cardUpLvGoldArr[1] * int.Parse(listItem.m_txtUseCount.text);                hasExp += itemCfg.cardUpLvExp * int.Parse(listItem.m_txtUseCount.text);            }            _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text = count.ToString();            int previewLv = 0;            int previewExp = 0;            CardDataManager.GetPreViewLvAndExp(_viewData.itemCfg.rarity, _viewData.lv, _viewData.exp, hasExp, out previewLv, out previewExp);            this.UpdateUpLvView(true, previewLv, previewExp);        }        private void OnClcikBtnAll()        {            for (int i = 0; i < _comFosterBottom.m_listLvConsume.numItems; i++)            {                UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i));                int itemNum = int.Parse(listItem.m_txtNum.text);                for (int j = 0; j < itemNum; j++)                {                    if (this.OnClickBtnPlusLvConsume(_comFosterBottom.m_listLvConsume.GetChildAt(i), false) == false)                    {                        break;                    }                }            }        }        private void OnClickBtnUpLv()        {            int itemMoneyId = (UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(0)).target.data as ItemCfg).cardUpLvGoldArr[0];            int itemMoneyNum = int.Parse(_comFosterBottom.m_ComLvConsumeGold.m_txtCount.text);            if (itemMoneyNum > ItemDataManager.GetItemNum(itemMoneyId))            {                ItemUtil.AddGold(itemMoneyNum - ItemDataManager.GetItemNum(itemMoneyId), UpLv);            }            else            {                this.UpLv();            }        }        private void UpLv()        {            int itemMoneyId = (UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(0)).target.data as ItemCfg).cardUpLvGoldArr[0];            int itemMoneyNum = int.Parse(_comFosterBottom.m_ComLvConsumeGold.m_txtCount.text);            ItemDataManager.Remove(itemMoneyId, itemMoneyNum);            int allConsume = 0;            for (int i = 0; i < _comFosterBottom.m_listLvConsume.numItems; i++)            {                UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i));                int itemId = (listItem.target.data as ItemCfg).id;                int itemNum = int.Parse(listItem.m_txtUseCount.text);                allConsume += itemNum;                if (itemNum <= 0) continue;                ItemDataManager.Remove(itemId, itemNum);            }            if (allConsume == 0)            {                PromptController.Instance.ShowFloatTextPrompt("未选中任何材料");                return;            }            if (CardDataManager.isFullLv(_viewData.id, _viewData.lv) == false)            {                int lv = _viewData.lv;                CardDataManager.UpCardLv(_viewData.id, _showLv, _showExp);                this.UpdateCommon();                this.UpdateUpLvView();                if (_showLv - lv >= 1)                {                    this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;                    ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _viewData.scores, "lv", lv, _showLv }, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });                }            }        }        /***********************************************************升星***************************************************/        private void UpdateUpStarView()        {            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_viewData.itemCfg.subType, _viewData.itemCfg.rarity);            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);            _comFosterBottom.m_comStar.m_c1.selectedIndex = _viewData.star;            _comFosterBottom.m_comStar.m_c2.selectedIndex = cardStarCfgs.Count;            if (CardDataManager.isFullStar(_viewData.id, _viewData.star, false))            {                _comFosterBottom.m_ctrlFullStar.selectedIndex = 1;                //List<string> resse = CardCfgManager.GetCardShowResByIdAndTypeAndRarity(_viewData.id, _viewData.itemCfg.type, _viewData.itemCfg.rarity);                _comFosterBottom.m_listShowCard.data = _viewData.resources;                _comFosterBottom.m_listShowCard.numItems = CardCfgManager.GetCardShowCountByIdAndTypeAndRarity(_viewData.id, _viewData.itemCfg.subType, _viewData.itemCfg.rarity);                return;            }            else            {                _comFosterBottom.m_ctrlFullStar.selectedIndex = 0;                _comFosterBottom.m_btnUpStar.data = 0;//data  0:可以升级,1:材料不足                int costHas = ItemDataManager.GetItemNum(cardStarCfg.costID);                int costNeed = cardStarCfg.costNum;                _comFosterBottom.m_comStarCousumeGold.m_txtCount.text = string.Format("{0}/{1}", costNeed, costHas);                _comFosterBottom.m_listStarConsume.data = cardStarCfg;                _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;                _comFosterBottom.m_comTips.visible = _viewData.lv < cardStarCfg.lv ? true : false;                UI_ComTips comTips = UI_ComTips.Proxy(_comFosterBottom.m_comTips);                comTips.m_txtTips.text = _comFosterBottom.m_comTips.visible == true ? string.Format("需等级达到{0}级", cardStarCfg.lv) : "";                _comFosterBottom.m_btnUpStar.grayed = int.Parse(_comFosterBottom.m_btnUpStar.data.ToString()) == 1 ? true : false;            }        }        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 RenderListShowCardItem(int index, GObject obj)        {            GButton listItem = obj as GButton;            GLoader loaStarCard = UI_ComStarCard.Proxy(listItem.GetChild("ComStarCard")).m_loaStarCard;            string res = (listItem.parent.data as List<string>)[index];            if (res == _viewData.res) { _comFosterBottom.m_listShowCard.selectedIndex = index; }            loaStarCard.url = ResPathUtil.GetCardSmallPath(res);            listItem.data = res;        }        private void OnClickShowCardListItem(EventContext context)        {            CardDataManager.SetShowCard(_viewData.id, (string)((context.data as GButton).data));            this.UpdateCommon();            this.UpdateCardRes();        }        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 } });        }        private void OnClickBtnUpStar()        {            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);            if (_viewData.lv < cardStarCfg.lv)            {                PromptController.Instance.ShowFloatTextPrompt("等级不足");                return;            }            if (CardDataManager.isFullStar(_viewData.id, _viewData.star) == true)            {                return;            }            int state = int.Parse(_comFosterBottom.m_btnUpStar.data.ToString());            if (state == 1)            {                PromptController.Instance.ShowFloatTextPrompt("材料不足");                return;            }            int costHas = ItemDataManager.GetItemNum(cardStarCfg.costID);            int costNeed = cardStarCfg.costNum;            if (costHas < costNeed)            {                ItemUtil.AddGold(costNeed - costHas, UpStar);            }            else            {                this.UpStar();            }        }        private void UpStar()        {            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);            int costNeed = cardStarCfg.costNum;            ItemDataManager.Remove(cardStarCfg.costID, costNeed);            for (int i = 0; i < _comFosterBottom.m_listStarConsume.numItems; i++)            {                UI_ComStarConsume listItem = UI_ComStarConsume.Proxy(_comFosterBottom.m_listStarConsume.GetChildAt(i));                int itemId = int.Parse(listItem.target.data.ToString());                int itemNum = cardStarCfg.materiarsArr[i][1];// int.Parse(listItem.m_txtNeedCount.text);                ItemDataManager.Remove(itemId, itemNum);            }            CardDataManager.UpCardStar(_viewData.id);            this.UpdateCommon();            this.UpdateUpStarView();            this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;            ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _viewData.scores, "star", _viewData.star - 1, _viewData.star }, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });        }        /***********************************************************升技能***************************************************/        private void UpdateUpSkillView()        {            PassivitySkillCfg[] skillScores = PassivitySkillCfgArray.Instance.GetCfgs(_viewData.id);            _comFosterBottom.m_listSkill.numItems = skillScores.Length;        }        private void RenderListSkilItem(int index, GObject obj)        {            UI_ListSkillItem item = UI_ListSkillItem.Proxy(obj);            PassivitySkillCfg skillScoreCfg = PassivitySkillCfgArray.Instance.GetCfgs(_viewData.id)[index];            item.m_txtName.text = skillScoreCfg.name;            CardSkillCfg[] skillCfgs = CardSkillCfgArray.Instance.GetCfgs(skillScoreCfg.skillId);            SkillData skillData = SkillDataManager.Instance.skillData.ContainsKey(skillScoreCfg.id) && SkillDataManager.Instance.skillData[skillScoreCfg.skillId].ContainsKey(skillScoreCfg.skillId) ? SkillDataManager.Instance.skillData[skillScoreCfg.id][skillScoreCfg.skillId] : null;            int lv = skillData == null ? 1 : skillData.lv;            item.m_txtLv.text = string.Format("{0}级", lv);            item.m_btnUp.visible = lv == skillCfgs.Length ? false : true;            if (item.m_btnUp.data == null)            {                // item.m_btnUp.data = skillScoreCfg;                item.m_btnUp.onClick.Add(() =>                {                    ViewManager.Show<CardSkillView>(new object[] { skillScoreCfg.id, skillScoreCfg.skillId });                });            }        }        private void UpSkill()        {        }        private void OnClickLoaCard()        {            _ui.m_t0.Play(() =>            {                ViewManager.Show(ViewName.CARD_SHOW_VIEW, _viewData);            });        }        private void OnClickComCard()        {            if (_ui.m_comCard.target.scaleX != _cardScale)            {                _ui.m_loaListener.visible = true;                _ui.m_comCard.target.scrollPane.SetPercX(0.5f, true);                float scale = _ui.m_comCard.target.scaleX;                _ui.m_t1.SetValue("scale", scale, scale);                _ui.m_t1.SetValue("normal", _cardScale, _cardScale);                _ui.m_t1.Play();            }            else            {                _ui.m_loaListener.visible = false;                float scale = _ui.target.height / 1920;                _ui.m_comCard.target.scrollPane.viewWidth = 1080 / scale;                _ui.m_comCard.target.scrollPane.SetPercX(0.5f, true);                _ui.m_t0.SetValue("scale", scale, scale);                _ui.m_t0.SetValue("normal", _cardScale, _cardScale);                _ui.m_t0.Play();            }        }        private void OnClickBtnStroy()        {            ViewManager.Show(ViewName.CARD_STORY_VIEW, _viewData);        }        private void OnChangeCtrlTab()        {            this.UpdateCommon();            if (_comFosterBottom.m_ctrlTab.selectedIndex == 0)            {                this.UpdateUpLvView();            }            else if (_comFosterBottom.m_ctrlTab.selectedIndex == 1)            {                this.UpdateUpStarView();                GuideController.HideGuide();                GuideController.TryCompleteGuide(ConstGuideId.CARD_UP_STAR);            }            else            {                this.UpdateUpSkillView();            }        }        private void OnClickBtnBack()        {            ViewManager.GoBackFrom(ViewName.CARD_FOSTER_VIEW);            this._selectTab = 0;        }        protected override void OnHide()        {            base.OnHide();            EventAgent.RemoveEventListener(ConstMessage.MONEY_CHANGE, UpdateUpStarView);            Timers.inst.Remove(OnTimedEvent);            //_timer.Stop();            _comFosterBottom.m_listLvConsume.numItems = 0;        }    }}
 |