2021-04-08 20:09:59 +08:00
using Cal ;
2023-09-07 00:06:37 +08:00
2021-04-08 20:09:59 +08:00
namespace ET
{
2023-09-07 00:06:37 +08:00
public class SkillOptionLogic_ 应 用 Modifier : SkillOptionLogicBase
2021-04-08 20:09:59 +08:00
{
2023-09-07 00:06:37 +08:00
public override SkillOptionType skillOptionType = > SkillOptionType . 应 用 Modifier ;
2021-04-08 20:09:59 +08:00
public override SkillOptionBase skillOptionBase { get ; set ; }
SkillOption_ 应 用 Modifier skillOption ;
2023-09-07 00:06:37 +08:00
2021-04-08 20:09:59 +08:00
public override void HandleEvent ( ISkillSender skillSender )
{
2023-09-07 00:06:37 +08:00
skillOption = skillOptionBase . As < SkillOption_ 应 用 Modifier > ( ) ;
SelectTargetHelper . GetTarget ( skillOption . selectTarget , skillSender , Action ) ;
}
private async ETTask Action ( Unit target , ISkillSender skillSender )
{
var owner = skillSender . caster ;
SkillMgrComponent skillMgrComponent = owner . GetComponent < SkillMgrComponent > ( ) ;
SkillLogic skillLogic = skillMgrComponent . GetSkill ( skillSender . skillConfigId / 100 ) ;
ModifierContainerComponent modifierComponent = target . GetComponent < ModifierContainerComponent > ( ) ;
if ( ! skillLogic | | skillLogic . skillLogicConfig = = null | | skillLogic . skillLogicConfig . modifierDic = = null )
2021-04-08 20:09:59 +08:00
{
2023-09-07 00:06:37 +08:00
Log . Error ( $"{owner.Id} has no skill: skillId is {skillSender.skillConfigId}, 1 {skillLogic} 2 {skillLogic?.skillLogicConfig} 3 {skillLogic?.skillLogicConfig?.modifierDic}" ) ;
}
modifierComponent . ApplyModifier ( skillSender . caster , skillLogic , this . skillOption . modifierId ) ;
2021-04-08 20:09:59 +08:00
}
}
}