using System.Collections.Generic;
using Common.Combat.FxAILogic;
using Core.Triiger;
using UnityEngine;
namespace GameLogic.Combat.Skill.MagicSkill
{
///
/// 法宝技能 翡翠葫芦 战场区域形成一个域。敌人的功法弹道进入域后将降低敌人的功法弹道速度
///
public class FS901002 : MagicSkillBasic, ITriggerEntity
{
private List _fxAILogicBasics = new List();
private float _currTime;
private bool _update;
private IUnRegister _unRegister;
protected override void ProMagicUseSkill()
{
SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("lingyu");
_unRegister=specialDotInfo.targetTran.gameObject.OnTriggerEnterEvent(this, OnTriggerEnter);
_currTime = 0;
_update = true;
// specialDotInfo.targetTran.gameObject.OnTriggerExitEvent(this, OnTriggerEnter);
}
private void OnTriggerEnter(Collider collider, ITriggerEntity triggerEntity)
{
if (triggerEntity == null)
{
return;
}
FxAILogicBasic fxAILogicBasic = triggerEntity as FxAILogicBasic;
if (fxAILogicBasic != null)
{
fxAILogicBasic.extraMoveSpeed -= SelfSkillConfig.effectValue[0];
}
}
protected override void MagicSkillUpdate(float time)
{
if (_update)
{
_currTime += time;
if (_currTime >= SelfSkillConfig.effectValue[1])
{
Finish();
}
}
}
private void Finish()
{
_unRegister?.UnRegister();
_unRegister = null;
_update = false;
SkillPlayFinish();
for (int i = 0; i < _fxAILogicBasics.Count; i++)
{
_fxAILogicBasics[i].extraMoveSpeed += SelfSkillConfig.effectValue[0];
}
_fxAILogicBasics.Clear();
}
public string tag { get; }
}
}