123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- using System;
- using System.Collections.Generic;
- using FairyGUI;
- using UI.Main;
- using UnityEngine;
- namespace GFGGame
- {
- public class StorySkillView : BaseView
- {
- private UI_StorySkillUI _ui;
- private Dictionary<int, int> skillScoreDic;
- private EffectUI _effectUI1;
- private EffectUI _effectUI2;
- public override void Dispose()
- {
- EffectUIPool.Recycle(_effectUI1);
- _effectUI1 = null;
- EffectUIPool.Recycle(_effectUI2);
- _effectUI2 = null;
- if (_ui != null)
- {
- _ui.Dispose();
- _ui = null;
- }
- base.Dispose();
- }
- protected override void OnInit()
- {
- base.OnInit();
- _ui = UI_StorySkillUI.Create();
- viewCom = _ui.target;
- isfullScreen = true;
- // this.modal = false;
- _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_comSkillShow.m_holderBottom, "ui_fight_new", "CFKP_TX_down");
- _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_comSkillShow.m_holderTop, "ui_fight_new", "CFKP_TX_up");
- _ui.m_comSkillShow.m_t0.ignoreEngineTimeScale = false;
- _ui.m_comSkillShow.m_t1.ignoreEngineTimeScale = false;
- _ui.m_t1.ignoreEngineTimeScale = false;
- }
- protected override void OnShown()
- {
- base.OnShown();
- skillScoreDic = this.viewData as Dictionary<int, int>;
- UpdateView();
- }
- private void UpdateView()
- {
- if (skillScoreDic.Count > 0)
- {
- int skillId = 0;
- foreach (int key in skillScoreDic.Keys)
- {
- skillId = key;
- break;
- }
- PassivitySkillCfg skillCfg = PassivitySkillCfgArray.Instance.GetCfg(skillId);
- _ui.m_comSkillShow.m_txtName.text = skillCfg.name;
- _ui.m_comSkillShow.m_ComSkillScore.m_txtCount.SetVar("value", skillScoreDic[skillId].ToString()).FlushVars();
- _ui.m_comSkillShow.m_ComSkillScore.m_txtCount1.SetVar("value", Math.Abs(skillScoreDic[skillId]).ToString()).FlushVars();
- _ui.m_comSkillShow.m_ComSkillScore.m_c1.selectedIndex = skillScoreDic[skillId] >= 0 ? 0 : 1;
- string res = skillCfg.res;
- res = ItemCfgArray.Instance.GetCfg(skillCfg.cardId).res;
- _ui.m_comSkillShow.m_comSkillCard.m_comCard.m_loaCard.url = ResPathUtil.GetCardPath(res);
- _ui.m_comSkillShow.m_t0.timeScale = FightDataManager.Instance.fightSpeed;
- _ui.m_comSkillShow.m_t0.Play(() =>
- {
- if (skillScoreDic[skillId] > 0)
- {
- _ui.m_comSkillShow.m_t1.timeScale = FightDataManager.Instance.fightSpeed;
- _ui.m_comSkillShow.m_t1.Play(() =>
- {
- skillScoreDic.Remove(skillId);
- UpdateView();
- });
- }
- else
- {
- _ui.m_t1.timeScale = FightDataManager.Instance.fightSpeed;
- _ui.m_t1.Play(() =>
- {
- skillScoreDic.Remove(skillId);
- UpdateView();
- });
- }
- });
- }
- else
- {
- this.Hide();
- }
- }
- protected override void OnHide()
- {
- base.OnHide();
- _ui.m_comSkillShow.m_t0.Stop(true, false);
- _ui.m_comSkillShow.m_t1.Stop(true, false);
- _ui.m_t1.Stop(true, false);
- _ui.m_t2.Play();
- EventAgent.DispatchEvent(ConstMessage.SHOW_CARD_SKILL_END);
- }
- }
- }
|