|
@@ -8,18 +8,21 @@ namespace GameLogic.Combat.Skill
|
|
|
/// <summary>
|
|
|
/// 火烧
|
|
|
/// </summary>
|
|
|
- public class S30001: SkillBasic
|
|
|
+ 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 override void ProInitSkill()
|
|
|
{
|
|
|
_harm = 200;
|
|
|
+ _maxTime = 3;
|
|
|
}
|
|
|
|
|
|
// protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
|
|
@@ -37,9 +40,11 @@ namespace GameLogic.Combat.Skill
|
|
|
|
|
|
protected override void ProUseSkill()
|
|
|
{
|
|
|
- _finishTimeLineGroupName = "";
|
|
|
- currMyLoopGroupBasic= ActivationTimeLineData("sk1");
|
|
|
+ _finishTimeLineGroupName = "-1";
|
|
|
+ currMyLoopGroupBasic = ActivationTimeLineData("sk1");
|
|
|
_isUpdate = true;
|
|
|
+ _currTime = 0;
|
|
|
+ _currAllTime = 0;
|
|
|
}
|
|
|
|
|
|
protected override void ProBreakSkill()
|
|
@@ -49,13 +54,24 @@ namespace GameLogic.Combat.Skill
|
|
|
|
|
|
protected void Finish()
|
|
|
{
|
|
|
- currMyLoopGroupBasic?.CloseLoopFx();
|
|
|
+ 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)
|
|
@@ -64,14 +80,16 @@ namespace GameLogic.Combat.Skill
|
|
|
}
|
|
|
|
|
|
_currTime += time;
|
|
|
+ _currAllTime += time;
|
|
|
if (_currTime > 1)
|
|
|
{
|
|
|
_currTime -= 1;
|
|
|
- long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
|
|
|
- _harm);
|
|
|
+ long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(
|
|
|
+ CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
|
|
|
+ _harm);
|
|
|
if (loopGroupBasic != null)
|
|
|
{
|
|
|
- loopGroupBasic.CloseLoopFx();
|
|
|
+ loopGroupBasic.BreakTimeLine();
|
|
|
}
|
|
|
|
|
|
// for (int i = 0; i < _currTrigger.Count; i++)
|
|
@@ -82,12 +100,18 @@ namespace GameLogic.Combat.Skill
|
|
|
// ILifetCycleHitPoint[] allHero = new ILifetCycleHitPoint[_enterAlertTarget.Count];
|
|
|
for (int i = 0; i < _enterAlertTarget.Count; i++)
|
|
|
{
|
|
|
- ILifetCycleHitPoint targetEntity= _enterAlertTarget[i].GetMainHotPoin<ILifetCycleHitPoint>();
|
|
|
+ ILifetCycleHitPoint targetEntity = _enterAlertTarget[i].GetMainHotPoin<ILifetCycleHitPoint>();
|
|
|
_currTrigger.Add(targetEntity);
|
|
|
- HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity as CombatHeroHitPoint,
|
|
|
+ HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity as CombatHeroHitPoint,
|
|
|
v, AttType.Skill, triggerData);
|
|
|
}
|
|
|
- loopGroupBasic= ActivationTimeLineData("sk1_hit",_currTrigger);
|
|
|
+
|
|
|
+ loopGroupBasic = ActivationTimeLineData("sk1_hit", _currTrigger);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (_currAllTime > _maxTime)
|
|
|
+ {
|
|
|
+ SkillPlayFinish();
|
|
|
}
|
|
|
}
|
|
|
// protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
|