CTT/Server/Hotfix/Game/SkillSystem/NewSkill/Component/SkillOptions/SkillOptionLogic_改变释放次数.cs

37 lines
1.6 KiB
C#
Executable File

using Cal;
namespace ET
{
public class SkillOptionLogic_ : SkillOptionLogicBase
{
public override SkillOptionType skillOptionType => SkillOptionType.;
public override SkillOptionBase skillOptionBase { get; set; }
SkillOption_ skillOption;
public override void HandleEvent(ISkillSender skillSender)
{
skillOption = skillOptionBase.As<SkillOption_>();
SelectTargetHelper.GetTarget(skillOption.selectTarget, skillSender, Action);
}
private async ETTask Action(Unit target, ISkillSender skillSender)
{
if (!SkillHelper.GetParam(this.skillOption.param, skillSender.skillConfigId, out float value))
return;
if (!(skillSender is ModifierSkillSender modifierSkillSender))
{
Log.Error($"skillSender = {skillSender} is not ModifierSkillSender");
return;
}
AttackComponent attackComponent = target.GetComponent<AttackComponent>();
// ModifierContainerComponent modifierContainerComponent = target.GetComponent<ModifierContainerComponent>();
// ModifierLogic modifierLogic =modifierContainerComponent.GetModifierLogic(modifierSkillSender.modifierId);
ModifierLogic modifierLogic = modifierSkillSender.modifierLogic;
if (modifierLogic == null)
return;
int valueInt = (int) value;
modifierLogic.playAmount = valueInt - attackComponent.playAmount;
attackComponent.playAmount = valueInt;
}
}
}