using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic; using GameLogic.Combat.CombatTool; using GameLogic.Combat.Hero; using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface; namespace GameLogic.Combat.Skill { /// /// 火烧 /// public class S30001: SkillBasic { protected float _harm; protected float _currTime; private BetterList _currTrigger = new BetterList(); protected TimeLineEventLogicGroupBasic loopGroupBasic; protected TimeLineEventLogicGroupBasic currMyLoopGroupBasic; protected bool _isUpdate; protected override void ProInitSkill() { _harm = 200; } // protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity( // TimeLineEventLogicBasic timeLineEventLogicBasic) // { // ILifetCycleHitPoint[] allHero = new ILifetCycleHitPoint[_enterAlertTarget.Count]; // for (int i = 0; i < _enterAlertTarget.Count; i++) // { // allHero[i] = _enterAlertTarget[i].GetMainHotPoin(); // } // // return allHero; // } protected override void ProUseSkill() { _finishTimeLineGroupName = ""; currMyLoopGroupBasic= ActivationTimeLineData("sk1"); _isUpdate = true; } protected override void ProBreakSkill() { Finish(); } protected void Finish() { currMyLoopGroupBasic?.CloseLoopFx(); _isUpdate = false; SpecialDotInfo specialDotInfo = CombatHeroEntity.GetMainHotPoin(true) .GetSpecialDotInfo("sk1_trigger"); specialDotInfo.targetTran.gameObject.SetActive(false); } protected override void ProCombatUpdate(float time) { if (!_isUpdate) { return; } _currTime += time; if (_currTime > 1) { _currTime -= 1; long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value, _harm); if (loopGroupBasic != null) { loopGroupBasic.CloseLoopFx(); } // for (int i = 0; i < _currTrigger.Count; i++) // { // _currTrigger[i].IfLifeCycle.This().H // } _currTrigger.Clear(); // ILifetCycleHitPoint[] allHero = new ILifetCycleHitPoint[_enterAlertTarget.Count]; for (int i = 0; i < _enterAlertTarget.Count; i++) { ILifetCycleHitPoint targetEntity= _enterAlertTarget[i].GetMainHotPoin(); _currTrigger.Add(targetEntity); HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity as CombatHeroHitPoint, v, AttType.Skill, triggerData); } loopGroupBasic= ActivationTimeLineData("sk1_hit",_currTrigger); } } // protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity, // ITimelineFxLogic timelineFxLogic, // TriggerData triggerData) // { // long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value, // _harm); // HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity, // v, AttType.Skill, triggerData); // } } }