mirror of
https://github.com/tym1116/BH3.git
synced 2025-12-12 22:44:35 +01:00
71 lines
1.7 KiB
C#
71 lines
1.7 KiB
C#
using MoleMole.Config;
|
|
|
|
namespace MoleMole
|
|
{
|
|
public class AbilityAvatarSkillButtonHoldNormalizedTimeChargeAnimatorMixin : BaseAbilityAvatarSkillButtonHoldChargeMixin
|
|
{
|
|
private AvatarSkillButtonHoldNormalizedTimeChargeAnimatorMixin config;
|
|
|
|
private int _thersholdIndex;
|
|
|
|
public AbilityAvatarSkillButtonHoldNormalizedTimeChargeAnimatorMixin(ActorAbility instancedAbility, ActorModifier instancedModifier, ConfigAbilityMixin config)
|
|
: base(instancedAbility, instancedModifier, config)
|
|
{
|
|
this.config = (AvatarSkillButtonHoldNormalizedTimeChargeAnimatorMixin)config;
|
|
}
|
|
|
|
public override void OnAdded()
|
|
{
|
|
base.OnAdded();
|
|
}
|
|
|
|
protected override void OnBeforeToInLoop()
|
|
{
|
|
_thersholdIndex = 0;
|
|
}
|
|
|
|
protected override void UpdateInLoop()
|
|
{
|
|
if (config.ChargeEndNormalizeTimeThershold == null)
|
|
{
|
|
return;
|
|
}
|
|
float currentNormalizedTime = entity.GetCurrentNormalizedTime();
|
|
float[] array = config.ChargeEndNormalizeTimeThershold[_loopIx];
|
|
for (int i = _thersholdIndex; i < array.Length; i++)
|
|
{
|
|
if (currentNormalizedTime < array[i])
|
|
{
|
|
if (_thersholdIndex != i)
|
|
{
|
|
_thersholdIndex = i;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
protected override void OnInLoopToAfter()
|
|
{
|
|
if (config.ChargeEndNormalizeTimeThershold != null)
|
|
{
|
|
int num = _loopIx;
|
|
if (_loopIx == _loopCount)
|
|
{
|
|
num--;
|
|
}
|
|
actor.abilityPlugin.HandleActionTargetDispatch(config.ChargeEndNormalizeTimeActions[num][_thersholdIndex], instancedAbility, instancedModifier, actor, null);
|
|
}
|
|
}
|
|
|
|
protected override void OnMoveingToNextLoop(bool endLoop)
|
|
{
|
|
}
|
|
|
|
protected override bool ShouldMoveToNextLoop()
|
|
{
|
|
return entity.GetCurrentNormalizedTime() > config.ChargeLoopNormalizeTimeEnds[_loopIx];
|
|
}
|
|
}
|
|
}
|