42 lines
1.6 KiB
C#
42 lines
1.6 KiB
C#
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_几率>();
|
|
if (!SkillHelper.GetParam(skillOption.param, skillSender.skillLogic.skillConfigId, out var value))
|
|
return;
|
|
if (MathHelper.IsHit(value / 100))
|
|
{
|
|
if (skillOption.succeedOptionList != null)
|
|
foreach (var item in skillOption.succeedOptionList)
|
|
{
|
|
var skillOptionLogicBase = SkillOptionFactory.AcquireSkillOptionLogic(item);
|
|
skillSender.skillLogic.skillOptionLogics.Add(skillOptionLogicBase);
|
|
skillOptionLogicBase.HandleEvent(skillSender);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (skillOption.failOptionList != null)
|
|
foreach (var item in skillOption.failOptionList)
|
|
{
|
|
var skillOptionLogicBase = SkillOptionFactory.AcquireSkillOptionLogic(item);
|
|
skillSender.skillLogic.skillOptionLogics.Add(skillOptionLogicBase);
|
|
skillOptionLogicBase.HandleEvent(skillSender);
|
|
}
|
|
}
|
|
}
|
|
|
|
public override void Clear()
|
|
{
|
|
|
|
}
|
|
}
|
|
} |