123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Hero;
- using UnityEngine;
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 火烧
- /// </summary>
- public class S30001 : SkillBasic
- {
- protected float _harm;
- protected float _maxTime;
- protected float _currTime;
- private BetterList<ILifetCycleHitPoint> _currTrigger = new BetterList<ILifetCycleHitPoint>();
- protected TimeLineEventLogicGroupBasic loopGroupBasic;
- protected TimeLineEventLogicGroupBasic currMyLoopGroupBasic;
- protected bool _isUpdate;
- protected float _currAllTime;
- // protected float addXuanZhuang = 0.5f;
- // protected float _allAddJiaoDu;
- protected override void ProInitSkillConfig()
- {
- _harm = SelfSkillConfig.effectValue[0];
- _maxTime = 3;
- }
- // 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<ILifetCycleHitPoint>();
- // }
- //
- // return allHero;
- // }
- protected override void ProUseSkill()
- {
- _finishTimeLineGroupName = "-1";
- currMyLoopGroupBasic = ActivationTimeLineData("sk1");
- _isUpdate = true;
- _currTime = 0;
- _currAllTime = 0;
- }
- protected override void ProBreakSkill()
- {
- Finish();
- }
- protected void Finish()
- {
- currMyLoopGroupBasic?.BreakTimeLine();
- if (loopGroupBasic != null)
- {
- loopGroupBasic.BreakTimeLine();
- }
- loopGroupBasic = null;
- _isUpdate = false;
- SpecialDotInfo specialDotInfo = CombatHeroEntity.GetMainHotPoin<ILifetCycleHitPoint>(true)
- .GetSpecialDotInfo("sk1_trigger");
- specialDotInfo.targetTran.gameObject.SetActive(false);
- }
- protected override void ProSkillPlayFinish()
- {
- Finish();
- }
- protected override void ProCombatUpdate(float time)
- {
- if (!_isUpdate)
- {
- return;
- }
- // _allAddJiaoDu += addXuanZhuang;
- // if (_allAddJiaoDu > 5 || _allAddJiaoDu < -5)
- // {
- // addXuanZhuang *= -1;
- // }
- //
- // CombatHeroEntity.combatHeroGameObject.transform.Rotate(Vector3.up, addXuanZhuang);
- _currTime += time;
- _currAllTime += time;
- if (_currTime > 0.2f)
- {
- _currTime -= 0.2f;
- long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(
- CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
- _harm);
- if (loopGroupBasic != null)
- {
- loopGroupBasic.BreakTimeLine();
- }
- // for (int i = 0; i < _currTrigger.Count; i++)
- // {
- // _currTrigger[i].IfLifeCycle.This<CombatHeroEntity>().H
- // }
- _currTrigger.Clear();
- // ILifetCycleHitPoint[] allHero = new ILifetCycleHitPoint[_enterAlertTarget.Count];
- for (int i = 0; i < _enterAlertTarget.Count; i++)
- {
- ILifetCycleHitPoint targetEntity = _enterAlertTarget[i].GetMainHotPoin<ILifetCycleHitPoint>();
- _currTrigger.Add(targetEntity);
- HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity as CombatHeroHitPoint,
- v, AttType.Skill, triggerData);
- }
- // "sk1_hit"
- string hitName = "sk1_hit_lv4";
- loopGroupBasic = ActivationTimeLineData( hitName, _currTrigger);
- }
- if (_currAllTime > _maxTime)
- {
- SkillPlayFinish();
- }
- }
- // 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);
- // }
- }
- }
|