123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- using FairyGUI;
- using System.Collections;
- using System.Collections.Generic;
- using UI.Card;
- using UI.CommonGame;
- using UnityEngine;
- namespace GFGGame
- {
- public class CardUpView : BaseWindow
- {
- private UI_CardUpUI _ui;
- private Dictionary<int, int> _scores;
- private string _type;
- private int _lastNum;
- private int _curNum;
- private int _cardId;
- private string _fromUIType;
- private CardLvlCfg _cardLvCfg;
- private CardStarCfg _cardStarCfg;
- private int _mainScore = 0;
- private int _otherScore = 0;
- private int _itemCfgMainScore = 0;
- private EffectUI _effectUI1;
- private EffectUI _effectUI2;
- public override void Dispose()
- {
- if (_ui != null)
- {
- _ui.Dispose();
- _ui = null;
- }
- base.Dispose();
- }
- protected override void OnInit()
- {
- base.OnInit();
- _ui = UI_CardUpUI.Create();
- this.viewCom = _ui.target;
- this.viewCom.Center();
- this.modal = true;
- //MakeFullScreen(_ui);
- _ui.m_bgTouch.onClick.Add(OnBackClick);
- _ui.m_listProperty.itemRenderer = RenderListPropertyItem;
- _ui.m_listLastProperty.itemRenderer = RenderListLastPropertyItem;
- _ui.m_listCardProperty.itemRenderer = RenderListCardPropertyItem;
- _ui.m_listLastCardProperty.itemRenderer = RenderListLastCardPropertyItem;
- }
- private void OnBackClick()
- {
- this.Hide();
- }
- protected override void OnShown()
- {
- base.OnShown();
- _scores = (Dictionary<int, int>)(viewData as object[])[0];
- _type = (string)(viewData as object[])[1];
- _lastNum = (int)(viewData as object[])[2];
- _curNum = (int)(viewData as object[])[3];
- _cardId = (int)(viewData as object[])[4];
- if ((viewData as object[]).Length > 5)
- _fromUIType = (string)(viewData as object[])[5];
- if (_type == "lv")
- {
- _ui.m_c1.selectedIndex = 0;
- _ui.m_txtLast.text = string.Format("{0}级", _lastNum);
- _ui.m_txtNow.text = string.Format("{0}级", _curNum);
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_cardId);
- _cardLvCfg = CardLvlCfgArray.Instance.GetCfgByrarityAndcardLvl(itemCfg.rarity, _lastNum);
- _cardStarCfg = null;
- _itemCfgMainScore = itemCfg.mainScore;
- _mainScore = 0;
- _otherScore = 0;
- for (int i = _lastNum; i < _curNum; i++)
- {
- CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfgByrarityAndcardLvl(itemCfg.rarity, i);
- _mainScore += cardLvCfg.mainScore;
- _otherScore += cardLvCfg.otherScore;
- }
- _ui.m_listProperty.numItems = _scores.Count;
- _ui.m_listLastProperty.numItems = _scores.Count;
- }
- else if (_type == "star")
- {
- _ui.m_c1.selectedIndex = 1;
- _ui.m_txtLast.text = string.Format("{0}星", _lastNum / 5);
- _ui.m_txtNow.text = string.Format("{0}星", _curNum / 5);
- _cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(_cardId, _lastNum);
- if (_cardStarCfg == null)
- ET.Log.Error("RenderListCardPropertyItemd _cardStarCfg 1 is null=" + _cardId + "==" + _lastNum);
- _cardLvCfg = null;
- _ui.m_listCardProperty.numItems = 1;
- _ui.m_listLastCardProperty.numItems = 1;
- }
- else {
- _ui.m_c1.selectedIndex = 2;
- _cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(_cardId, _lastNum);
- if (_cardStarCfg == null)
- ET.Log.Error("RenderListCardPropertyItemd _cardStarCfg 2 is null=" + _fromUIType +"=="+ _cardId + "==" + _lastNum);
- _cardLvCfg = null;
- _ui.m_listCardProperty.numItems = 1;
- _ui.m_listLastCardProperty.numItems = 1;
- }
- Timers.inst.AddUpdate(CheckGuide);
- if (_type == "lv")
- _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_holderTitle, "ui_hd", "GXSJ_Text");
- else
- _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_holderTitle, "ui_hd", "GXSX_Text");
- _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_holderBgCom, "ui_hd", "TC_Quad_ALL");
- }
- private void RenderListLastCardPropertyItem(int index, GObject obj)
- {
- UI_ListScoreItem2 listItem = UI_ListScoreItem2.Proxy(obj);
- int score = 0;
- int typeIndex = 1;
- listItem.m_ArrowsType.selectedIndex = 2;
- if (_cardStarCfg.score1 > 0) {
- typeIndex = 1;
- score = _scores[typeIndex] - _cardStarCfg.score1;
- }
- else if (_cardStarCfg.score2 > 0)
- {
- typeIndex = 2;
- score = _scores[typeIndex] - _cardStarCfg.score2;
- }
- else if (_cardStarCfg.score3 > 0)
- {
- typeIndex = 3;
- score = _scores[typeIndex] - _cardStarCfg.score3;
- }
- else if (_cardStarCfg.score4 > 0)
- {
- typeIndex = 4;
- score = _scores[typeIndex] - _cardStarCfg.score4;
- }
- listItem.m_txtProperty.text = score.ToString();
- listItem.m_loaIcon.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + (typeIndex));
- UI_ListScoreItem2.ProxyEnd();
- }
-
- private void RenderListLastPropertyItem(int index, GObject obj)
- {
- UI_ListScoreItem2 listItem = UI_ListScoreItem2.Proxy(obj);
- int score = 0;
- listItem.m_ArrowsType.selectedIndex = 1;
- if ((index + 1) == _itemCfgMainScore)
- score = _scores[index + 1] - _mainScore;
- else
- score = _scores[index + 1] - _otherScore;
- listItem.m_txtProperty.text = score.ToString();
- listItem.m_loaIcon.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + (index + 1));
- UI_ListScoreItem2.ProxyEnd();
- }
- private void RenderListPropertyItem(int index, GObject obj)
- {
- UI_ListScoreItem2 listItem = UI_ListScoreItem2.Proxy(obj);
- listItem.m_txtProperty.text = _scores[index + 1].ToString();
- listItem.m_loaIcon.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + (index + 1));
- UI_ListScoreItem2.ProxyEnd();
- }
- private void RenderListCardPropertyItem(int index, GObject obj)
- {
- UI_ListScoreItem2 listItem = UI_ListScoreItem2.Proxy(obj);
- if (_cardStarCfg == null)
- ET.Log.Error("RenderListCardPropertyItemd _cardStarCfg is null");
- int typeIndex = 1;
- if (_cardStarCfg.score1 > 0)
- typeIndex = 1;
- else if (_cardStarCfg.score2 > 0)
- typeIndex = 2;
- else if (_cardStarCfg.score3 > 0)
- typeIndex = 3;
- else if (_cardStarCfg.score4 > 0)
- typeIndex = 4;
- _scores.TryGetValue(typeIndex, out var scoresValue);
- listItem.m_txtProperty.text = scoresValue.ToString();
- listItem.m_loaIcon.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + typeIndex);
- UI_ListScoreItem2.ProxyEnd();
- }
- protected override void OnHide()
- {
- base.OnHide();
- Timers.inst.Remove(CheckGuide);
- EffectUIPool.Recycle(_effectUI1);
- _effectUI1 = null;
- EffectUIPool.Recycle(_effectUI2);
- _effectUI2 = null;
- }
- private void CheckGuide(object param)
- {
- if (GuideDataManager.IsGuideFinish(ConstGuideId.UP_CARD_LV) <= 0
- || GuideDataManager.IsGuideFinish(ConstGuideId.UP_CARD_STAR) <= 0)
- {
- UpdateToCheckGuide(null);
- }
- else
- {
- Timers.inst.Remove(CheckGuide);
- }
- }
- protected override void UpdateToCheckGuide(object param)
- {
- if (!ViewManager.CheckIsTopView(this.viewCom)) return;
- GuideController.TryGuide(null, ConstGuideId.UP_CARD_LV, 6, "升级成功啦", -1, true, 1500);
- GuideController.TryGuide(null, ConstGuideId.UP_CARD_STAR, 6, "升星成功啦", -1, true, 1500);
- }
- }
- }
|