using System;
|
using System.Collections.Generic;
|
using UnityEngine;
|
|
public class SkillEffect
|
{
|
protected SkillConfig skillConfig;
|
protected BattleObject caster;
|
protected HB427_tagSCUseSkill tagUseSkillAttack;// 目标列表
|
|
protected bool isFinish = false;
|
|
protected Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> onHit;
|
|
public SkillEffect(SkillConfig _skillConfig, BattleObject _caster, HB427_tagSCUseSkill _tagUseSkillAttack)
|
{
|
skillConfig = _skillConfig;
|
caster = _caster;
|
tagUseSkillAttack = _tagUseSkillAttack;
|
}
|
|
//
|
public virtual void Play(Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> _onHit)
|
{
|
onHit = _onHit;
|
if (skillConfig.EffectId > 0)
|
{
|
caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.EffectId, caster.heroRectTrans, caster.Camp);
|
}
|
if (skillConfig.EffectId2 > 0)
|
{
|
caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.EffectId2, caster.heroRectTrans, caster.Camp);
|
}
|
}
|
|
public virtual void Run()
|
{
|
|
}
|
|
public virtual void OnMiddleFrameEnd(int times, int hitIndex)
|
{
|
|
}
|
|
public virtual void OnMiddleFrameStart(int times)
|
{
|
if (skillConfig.MStartEffectId <= 0)
|
return;
|
// 中摇固定特效
|
caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.MStartEffectId, caster.heroGo.transform, caster.Camp);
|
}
|
|
/// <summary>
|
/// 后摇开始
|
/// </summary>
|
public virtual void OnFinalFrameStart()
|
{
|
|
}
|
|
/// <summary>
|
/// 后摇结束
|
/// </summary>
|
public virtual void OnFinalFrameEnd()
|
{
|
|
}
|
|
public virtual bool IsFinished()
|
{
|
return isFinish;
|
}
|
|
public virtual void ForceFinished()
|
{
|
isFinish = true;
|
}
|
}
|