|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | protected bool isFinish = false; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | protected bool isFinishFrameEnd = false; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | protected Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> onHit; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public SkillEffect(SkillConfig _skillConfig, BattleObject _caster, HB427_tagSCUseSkill _tagUseSkillAttack) | 
|---|
|  |  |  | 
|---|
|  |  |  | onHit = _onHit; | 
|---|
|  |  |  | if (skillConfig.EffectId > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.EffectId, caster.heroRectTrans, caster.Camp); | 
|---|
|  |  |  | caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.EffectId, caster.heroRectTrans, caster.Camp); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (skillConfig.EffectId2 > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.EffectId2, caster.heroRectTrans, caster.Camp); | 
|---|
|  |  |  | caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.EffectId2, caster.heroRectTrans, caster.Camp); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | if (skillConfig.MStartEffectId <= 0) | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | //  中摇固定特效 | 
|---|
|  |  |  | caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.MStartEffectId, caster.heroGo.transform, caster.Camp); | 
|---|
|  |  |  | caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.MStartEffectId, caster.heroGo.transform, caster.Camp); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | public virtual void OnFinalFrameEnd() | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | isFinishFrameEnd = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public virtual bool IsFinished() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return isFinish; | 
|---|
|  |  |  | return isFinish && isFinishFrameEnd; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public virtual void ForceFinished() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | isFinish = true; | 
|---|
|  |  |  | isFinishFrameEnd = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|