| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 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)            {                if (_updateTime)                {                    return;                }                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);        }    }}
 |