using FairyGUI; using UI.Card; using UI.CommonGame; using UI_ComConsume = UI.Card.UI_ComConsume; using System.Collections.Generic; using UnityEngine; using System.Timers; using System.Collections; using System.Linq; using VEngine; namespace GFGGame { public class CardFosterView : BaseView { private UI_CardFosterUI _ui; private UI_ComFosterBottom _comFosterBottom; private ValueBarController _valueBarController; private UI_ComCostCurrency _comLvConsumeGold; private UI_ComCostCurrencyWithHas _comStarCousumeGold; private CardData _cardData = new CardData(); private int _selectTab = 0; private GameObject _cardObj; private GoWrapper _wrapper; private GObject _consumeSelectItem;//选中的材料item private int _consumeSelectIndex = 0;//0为减,1为加 private List itemsCount; private int[] upgradeCardItemsArr = GlobalCfgArray.globalCfg.upgradeCardItemsArr; //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; private bool showCard = false; private Vector2 comCardImgResInitSize; 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_loaListener1.onClick.Add(OnClickLoaCard); _ui.m_comImgCard.target.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, UpdateUpSkillView); // EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, OnItemChangeListener); _comLvConsumeGold = UI_ComCostCurrency.Proxy(_comFosterBottom.m_ComLvConsumeGold); _comStarCousumeGold = UI_ComCostCurrencyWithHas.Proxy(_comFosterBottom.m_comStarCousumeGold); } protected override void OnShown() { base.OnShown(); _cardData = CardDataManager.GetCardDataById((this.viewData as CardData).id); comCardImgResInitSize = Vector2.zero; _cardScale = _ui.target.height * 0.8f / _ui.target.initHeight; showCard = false; Input.multiTouchEnabled = false; this.ClearItemsCountList(); this.UpdateCommon(); this.UpdateNormal(); this.UpdateCardRes(); this.UpdateUpLvView(); this.UpdateUpStarView(); this.UpdateUpSkillView(); _comFosterBottom.m_ctrlTab.selectedIndex = this._selectTab; } private void ClearItemsCountList() { if (itemsCount == null) { itemsCount = new List(); } itemsCount.Clear(); for (int i = 0; i < upgradeCardItemsArr.Length; i++) { itemsCount.Add(0); } } private void UpdateNormal() { _comFosterBottom.m_txtName.text = _cardData.itemCfg.name; _comFosterBottom.m_btnStory.visible = CardDataManager.GetStoryCfgsById(_cardData.id).Count > 0 ? true : false; _comFosterBottom.m_btnUpLv.grayed = true; _comFosterBottom.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sx_da_" + _cardData.itemCfg.rarity); _valueBarController = new ValueBarController(_ui.m_ComFosterTop.m_comValueBar, 5); _valueBarController.OnShown(); } private void UpdateCommon() { _comFosterBottom.m_listProperty.numItems = _cardData.scores.Count; _comLvConsumeGold.m_txtNeed.text = "0"; } private void UpdateCardRes() { if (_cardObj != null) { GameObject.Destroy(_cardObj); _cardObj = null; } string resPath = ResPathUtil.GetCardAnimationPath(_cardData.resources[_cardData.resIndex]); if (Versions.Contains(resPath)) { _cardObj = DressUpUtil.AddAnimationObj(resPath); SceneController.AddObjectToView(_cardObj, _wrapper, _ui.m_comCard.m_comCardHolder.m_holder, resPath, out _cardObj, out _wrapper); } if (_cardObj != null) { _ui.m_loaListener.visible = true; _ui.m_loaListener1.visible = false; _ui.m_comCard.target.visible = true; _ui.m_loaCard.visible = false; _ui.m_comCard.target.scrollPane.SetPercX(0.5f, false); _ui.m_comCard.target.SetScale(_cardScale, _cardScale); } else { _ui.m_comCard.target.visible = false; _ui.m_loaCard.visible = false; _ui.m_loaListener.visible = false; _ui.m_loaListener1.visible = true; if (comCardImgResInitSize == Vector2.zero) { _ui.m_comImgCard.m_ComCardImgRes.m_loaCard.url = ResPathUtil.GetCardPath(_cardData.resources[_cardData.resIndex]); GLoader loaCard = _ui.m_comImgCard.m_ComCardImgRes.m_loaCard; float scale = _ui.target.height * 0.8f / loaCard.initHeight; comCardImgResInitSize = new Vector2(loaCard.initWidth * scale, loaCard.initHeight * scale); // comCardImgResInitSize = new Vector2(_ui.m_comImgCard.m_ComCardImgRes.m_loaCard.initWidth * 0.8f, _ui.m_comImgCard.m_ComCardImgRes.m_loaCard.initHeight * 0.8f); // _ui.m_comImgCard.target.size = new Vector2(_ui.target.width, _ui.target.height * 0.8f); _ui.m_comImgCard.target.scrollPane.SetPercX(0.5f, false); _ui.m_comImgCard.m_ComCardImgRes.target.size = comCardImgResInitSize; } //SetSize(_ui.m_comImgCard.m_ComCardImgRes.m_loaCard.initWidth * _cardScale, _ui.m_comImgCard.m_ComCardImgRes.m_loaCard.initHeight * _cardScale); } } private void RenderListPropertyItem(int index, GObject obj) { UI_ListPropertyItem listItem = UI_ListPropertyItem.Proxy(obj); listItem.m_txtProperty.text = _cardData.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 : _cardData.lv; _showExp = isPreview == true ? exp : _cardData.exp; CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity); _comFosterBottom.m_barLv.max = cardLvCfg.needExp; _comFosterBottom.m_barLv.value = _showExp; int maxLv = CardRarityCfgArray.Instance.GetCfg(_cardData.itemCfg.rarity).maxCardLvl; _comFosterBottom.m_txtMaxLv.text = maxLv.ToString(); _comFosterBottom.m_txtCurLv.text = StringUtil.GetColorText(_showLv.ToString(), _showLv < maxLv ? "#D27869" : "#7D6956"); _comFosterBottom.m_txtMaxExp.text = cardLvCfg.needExp.ToString(); _comFosterBottom.m_txtCurExp.text = _showExp.ToString(); // = "0"; _comFosterBottom.m_btnUpLv.grayed = _comLvConsumeGold.m_txtNeed.text == "0" ? true : false; _comFosterBottom.m_ctrlFullLv.selectedIndex = CardDataManager.isFullLv(_cardData.id, _cardData.lv, false) ? 1 : 0; if (isPreview == true) { return; } _comFosterBottom.m_listLvConsume.numItems = upgradeCardItemsArr.Length; } private void RenderListLvConsumeItem(int index, GObject obj) { UI_ComConsume listItem = UI_ComConsume.Proxy(obj); CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_cardData.lv, _cardData.itemCfg.rarity); ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[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 = index; 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 type) { UI_ComConsume listItem = UI_ComConsume.Proxy(obj); int index = (int)listItem.target.data; int itemId = upgradeCardItemsArr[index]; _consumeSelectItem = obj; _consumeSelectIndex = type; if (type == 1) { if (ItemDataManager.GetItemNum(itemId) == 0) { ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData } }); } } //_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); int index = (int)listItem.target.data; int itemId = upgradeCardItemsArr[index]; if (itemsCount[index] == ItemDataManager.GetItemNum(itemId)) { Timers.inst.Remove(OnTimedEvent); return false; } int maxLv = CardRarityCfgArray.Instance.GetCfg(_cardData.itemCfg.rarity).maxCardLvl; int needExp = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity).needExp; if (_showLv == maxLv && _comFosterBottom.m_barLv.value >= needExp) { Timers.inst.Remove(OnTimedEvent); if (showTips == true) { PromptController.Instance.ShowFloatTextPrompt("已达到最大等级"); } return false; } itemsCount[index] = itemsCount[index] + 1; listItem.m_txtUseCount.text = itemsCount[index].ToString(); this.UpdatePreView(); return true; } private void OnClickBtnMinus(GObject obj) { UI_ComConsume listItem = UI_ComConsume.Proxy(obj); int index = (int)listItem.target.data; // int itemId = upgradeCardItemsArr[index]; // string count = listItem.m_txtUseCount.text; if (itemsCount[index] == 0) { Timers.inst.Remove(OnTimedEvent); return; } itemsCount[index] = itemsCount[index] - 1; listItem.m_txtUseCount.text = itemsCount[index].ToString(); this.UpdatePreView(); } private void UpdatePreView() { int count = 0;//消耗金币数量 int hasExp = 0;//消耗材料提升的总经验 for (int i = 0; i < itemsCount.Count; i++) { // UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i)); // if (int.Parse(listItem.m_txtUseCount.text) == 0) { continue; } if (itemsCount[i] == 0) continue; ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[i]); count += itemCfg.cardUpLvGoldArr[1] * itemsCount[i]; hasExp += itemCfg.cardUpLvExp * itemsCount[i]; } _comLvConsumeGold.m_txtNeed.text = count.ToString(); int previewLv = 0; int previewExp = 0; CardDataManager.GetPreViewLvAndExp(_cardData.itemCfg.rarity, _cardData.lv, _cardData.exp, hasExp, out previewLv, out previewExp); this.UpdateUpLvView(true, previewLv, previewExp); } private void OnClcikBtnAll() { for (int i = 0; i < itemsCount.Count; i++) { int itemNum = ItemDataManager.GetItemNum(upgradeCardItemsArr[i]); for (int j = 0; j < itemNum; j++) { if (this.OnClickBtnPlusLvConsume(_comFosterBottom.m_listLvConsume.GetChildAt(i), false) == false) { break; } } } } private void OnClickBtnUpLv() { int itemMoneyId = ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[0]).cardUpLvGoldArr[0]; int itemMoneyNum = int.Parse(_comLvConsumeGold.m_txtNeed.text); if (itemMoneyNum > ItemDataManager.GetItemNum(itemMoneyId)) { ItemUtil.AddGold(itemMoneyNum - ItemDataManager.GetItemNum(itemMoneyId), UpLv); } else { this.UpLv(); } } private async void UpLv() { // itemsCount.Clear(); int allConsume = 0; for (int i = 0; i < itemsCount.Count; i++) { allConsume += itemsCount[i]; } if (allConsume == 0) { PromptController.Instance.ShowFloatTextPrompt("未选中任何材料"); return; } if (CardDataManager.isFullLv(_cardData.id, _cardData.lv) == false) { int lv = _cardData.lv; bool result = await CardSProxy.UpgradeCardLvl(_cardData.id, itemsCount); if (result) { if (_showLv - lv >= 1) { // this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex; ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "lv", lv, _showLv }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData }); } this.UpdateCommon(); this.UpdateUpLvView(); this.ClearItemsCountList(); } } } /***********************************************************升星***************************************************/ private void UpdateUpStarView() { CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star); _comFosterBottom.m_comStar.m_c1.selectedIndex = _cardData.star; _comFosterBottom.m_comStar.m_c2.selectedIndex = 5; if (CardDataManager.isFullStar(_cardData.id, _cardData.star, false)) { _comFosterBottom.m_ctrlFullStar.selectedIndex = 1; _comFosterBottom.m_listShowCard.data = _cardData.resources; _comFosterBottom.m_listShowCard.numItems = _cardData.resources.Count; 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; _comStarCousumeGold.m_txtHas.text = costHas.ToString(); _comStarCousumeGold.m_txtNeed.text = costNeed.ToString(); _comFosterBottom.m_listStarConsume.data = cardStarCfg; _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length; _comFosterBottom.m_comTips.visible = _cardData.lv < cardStarCfg.needLv ? true : false; UI_ComTips comTips = UI_ComTips.Proxy(_comFosterBottom.m_comTips); comTips.m_txtTips.text = _comFosterBottom.m_comTips.visible == true ? string.Format("需等级达到{0}级", cardStarCfg.needLv) : ""; _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)[index]; if (index == _cardData.resIndex) { _comFosterBottom.m_listShowCard.selectedIndex = index; } loaStarCard.url = ResPathUtil.GetCardSmallPath(_cardData.resources[index]); listItem.data = index; } private async void OnClickShowCardListItem(EventContext context) { int resIndex = (int)(context.data as GObject).data; if (resIndex != _cardData.resIndex) { bool result = await CardSProxy.ChangeCardRes(_cardData.id, resIndex); if (result) { 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, _cardData } }); } private void OnClickBtnUpStar() { CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star); if (_cardData.lv < cardStarCfg.needLv) { PromptController.Instance.ShowFloatTextPrompt("等级不足"); return; } if (CardDataManager.isFullStar(_cardData.id, _cardData.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 async void UpStar() { CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star); bool result = await CardSProxy.UpgradeCardStar(_cardData.id); if (result) { this.UpdateCommon(); this.UpdateUpStarView(); // this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex; ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "star", _cardData.star - 1, _cardData.star }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData }); } } /***********************************************************升技能***************************************************/ private void UpdateUpSkillView() { _comFosterBottom.m_listSkill.numItems = PassivitySkillCfgArray.Instance.GetCfgs(_cardData.id).Count; } private void RenderListSkilItem(int index, GObject obj) { UI_ListSkillItem item = UI_ListSkillItem.Proxy(obj); PassivitySkillCfg skillCfg = PassivitySkillCfgArray.Instance.GetCfgs(_cardData.id)[index]; int skillLv = SkillDataManager.Instance.GetSkillLv(_cardData.id, skillCfg.skillId); item.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(skillCfg.res); item.m_txtName.text = skillCfg.name; item.m_txtLv.text = string.Format("{0}级", skillLv); item.m_btnUp.visible = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLv + 1, skillCfg.skillId) != null;//? skillLv == skillScoreCfgs.Count ? false : true; if (item.m_btnUp.data == null) { item.m_btnUp.onClick.Add(() => { ViewManager.Show(new object[] { _cardData.id, skillCfg.skillId }); }); } } private void UpSkill() { } private void OnClickLoaCard() { float scale = _ui.target.height / comCardImgResInitSize.y; if (!showCard) { _ui.m_loaListener1.visible = false; GTween.To(_ui.m_comImgCard.m_ComCardImgRes.target.size, comCardImgResInitSize * scale, 0.5f).SetTarget(_ui.m_comImgCard.m_ComCardImgRes).OnUpdate((GTweener t) => { _ui.m_comImgCard.m_ComCardImgRes.target.size = t.value.vec2; }); GTween.To(_ui.m_comImgCard.target.scrollPane.posX, ((comCardImgResInitSize * scale).x - _ui.target.width) / 2, 0.5f).SetTarget(_ui.m_comImgCard.target.scrollPane).OnUpdate((GTweener t) => { _ui.m_comImgCard.target.scrollPane.posX = t.value.x; }); _ui.m_t0.Play(); showCard = true; } else { _ui.m_loaListener1.visible = true; GTween.To(_ui.m_comImgCard.m_ComCardImgRes.target.size, comCardImgResInitSize, 0.5f).SetTarget(_ui.m_comImgCard.m_ComCardImgRes).OnUpdate((GTweener t) => { _ui.m_comImgCard.m_ComCardImgRes.target.size = t.value.vec2; }); GTween.To(_ui.m_comImgCard.target.scrollPane.posX, (comCardImgResInitSize.x - _ui.target.width) / 2, 0.5f).SetTarget(_ui.m_comImgCard.target.scrollPane).OnUpdate((GTweener t) => { _ui.m_comImgCard.target.scrollPane.posX = t.value.x; }); _ui.m_t1.Play(); showCard = false; } } private void OnClickComCard() { if (showCard) { _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(); showCard = false; } 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(); showCard = true; } } private void OnClickBtnStroy() { ViewManager.Show(ViewName.CARD_STORY_VIEW, _cardData); } private void OnChangeCtrlTab() { this.UpdateCommon(); if (_comFosterBottom.m_ctrlTab.selectedIndex == 0) { this.ClearItemsCountList(); this.UpdateUpLvView(); } else if (_comFosterBottom.m_ctrlTab.selectedIndex == 1) { this.UpdateUpStarView(); } else { this.UpdateUpSkillView(); } this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex; } private void OnItemChangeListener() { if (!CardDataManager.isFullLv(_cardData.id, _cardData.lv, false)) { CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity); _comFosterBottom.m_listLvConsume.numItems = upgradeCardItemsArr.Length; } if (!CardDataManager.isFullStar(_cardData.id, _cardData.star, false)) { CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star); _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length; } } private void OnClickBtnBack() { ViewManager.GoBackFrom(ViewName.CARD_FOSTER_VIEW); this._selectTab = 0; } protected override void OnHide() { base.OnHide(); EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, UpdateUpStarView); EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, OnItemChangeListener); Timers.inst.Remove(OnTimedEvent); //_timer.Stop(); _comFosterBottom.m_listLvConsume.numItems = 0; } protected override void UpdateToCheckGuide(object param) { if (!ViewManager.CheckIsTopView(this.viewCom)) return; GuideController.TryGuide(_ui.m_ComFosterBottom.m_btnStar, ConstGuideId.UP_CARD_STAR, 4, "选择升星"); GuideController.TryGuide(_ui.m_ComFosterBottom.m_btnUpStar, ConstGuideId.UP_CARD_STAR, 5, "升满5星后,可解锁词牌的隐藏卡面哦"); GuideController.TryCompleteGuide(ConstGuideId.UP_CARD_STAR, 5); } } }