| | |
| | | [SerializeField] ScaleTween m_ScaleTween; |
| | | [SerializeField] Image m_Selected; |
| | | [SerializeField] LongPressShowPanel m_SkillTip; |
| | | [SerializeField] UIEffect m_YinjiEffect; |
| | | |
| | | public Image icon { get { return m_Icon; } } |
| | | public Transform locked { get { return m_Locked; } } |
| | |
| | | public void Initialize(int skillId) |
| | | { |
| | | this.skillId = skillId; |
| | | |
| | | Debug.LogFormat("这个技能是:{0}", this.skillId); |
| | | |
| | | if (this.skillId == 0) |
| | | { |
| | | locked.gameObject.SetActive(true); |
| | |
| | | m_Selected.gameObject.SetActive(false); |
| | | DisplaySkillDynamicInfo(true); |
| | | HideSkillTip(); |
| | | PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh; |
| | | if (GeneralDefine.skillYinjis.ContainsKey(this.skillId)) |
| | | { |
| | | PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh; |
| | | } |
| | | |
| | | this.enabled = true; |
| | | } |
| | |
| | | HideSkillTip(); |
| | | } |
| | | |
| | | PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh; |
| | | this.enabled = false; |
| | | } |
| | | |
| | |
| | | if (timer < 0f) |
| | | { |
| | | var countDown = MainWinSkillController.Instance.GetSkillCD(m_Index).value.GetCountDown(); |
| | | |
| | | if (countDown > 1) |
| | | { |
| | | m_CoolDown.text = countDown.ToString("f0"); |
| | |
| | | } |
| | | |
| | | timer += 1f; |
| | | } |
| | | |
| | | inCountDown = MainWinSkillController.Instance.GetSkillCD(m_Index).value.IsCountDown(); |
| | | if (!inCountDown) |
| | | { |
| | | PlayYinjiEffect(); |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | m_CoolDown.text = ""; |
| | | } |
| | | |
| | | PlayYinjiEffect(); |
| | | } |
| | | |
| | | var skillForbid = MainWinSkillController.Instance.GetSkillForbid(m_Index); |
| | |
| | | } |
| | | } |
| | | |
| | | private void OnPlayerDataRefresh(PlayerDataType type) |
| | | { |
| | | switch (type) |
| | | { |
| | | case PlayerDataType.CDBPlayerRefresh_YinjiCount: |
| | | PlayYinjiEffect(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | YinJiModel yinjiModel { get { return ModelCenter.Instance.GetModel<YinJiModel>(); } } |
| | | private void PlayYinjiEffect() |
| | | { |
| | | if (m_YinjiEffect == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | var skillCd = MainWinSkillController.Instance.GetSkillCD(m_Index); |
| | | var playYinjiEffect = yinjiModel.IsSkillYinjiEnough(this.skillId) && !skillCd.value.IsExclusiveCountDown(); |
| | | if (playYinjiEffect) |
| | | { |
| | | if (!m_YinjiEffect.IsPlaying) |
| | | { |
| | | m_YinjiEffect.Play(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (m_YinjiEffect.IsPlaying) |
| | | { |
| | | m_YinjiEffect.Stop(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |