1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 大道技能 星辰道:每次释放功法时获得一定的能量,能量满后提升转盘速度
- /// </summary>
- public class DS60101 : SkillBasic
- {
- public float currEnergy = 0;
- private float _currTime;
- public bool _updateTime;
- protected override void ProUseSkill()
- {
- }
- protected override void ProInitSkill()
- {
- CombatEventManager.Instance.AddEventListener(CombatEventType.UseSkill, UseSkill);
- }
- private void UseSkill(IEventData iEventData)
- {
- CombatUseSkillEventData combatUseSkillEventData = iEventData as CombatUseSkillEventData;
- if (combatUseSkillEventData.useSkill.CombatHeroEntity == CombatHeroEntity&& combatUseSkillEventData.useSkill.SelfSkillConfig.SkillType == 1)
- {
- currEnergy += SelfSkillConfig.effectValue[0];
- if (currEnergy >= SelfSkillConfig.effectValue[1])
- {
- _updateTime = true;
- _currTime = 0;
- currEnergy = 0;
- CombatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl += SelfSkillConfig.effectValue[2];
- }
- }
- }
- private void Finish()
- {
- if (_updateTime)
- {
- CombatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl -= SelfSkillConfig.effectValue[2];
- _updateTime = false;
- }
- }
- protected override void ProCombatUpdate(float time)
- {
- if (_updateTime)
- {
- _currTime += time;
- if (_currTime >= SelfSkillConfig.effectValue[3])
- {
- Finish();
- }
- }
- }
- protected override void ProDispose()
- {
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkill, UseSkill);
- }
- }
- }
|