using Common.Utility.CombatEvent; using Fort23.Core; namespace GameLogic.Combat.Skill { /// /// 大道技能 星辰道:每次释放功法时获得一定的能量,能量满后提升转盘速度 /// 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); } } }