mirror of
https://github.com/tym1116/BH3.git
synced 2025-12-16 08:25:20 +01:00
40 lines
863 B
C#
40 lines
863 B
C#
using MoleMole.Config;
|
|
|
|
namespace MoleMole
|
|
{
|
|
public class AbilityDelayMixin : BaseAbilityMixin
|
|
{
|
|
private DelayMixin config;
|
|
|
|
private EntityTimer _waitTimer;
|
|
|
|
public AbilityDelayMixin(ActorAbility instancedAbility, ActorModifier instancedModifier, ConfigAbilityMixin config)
|
|
: base(instancedAbility, instancedModifier, config)
|
|
{
|
|
this.config = (DelayMixin)config;
|
|
_waitTimer = new EntityTimer(instancedAbility.Evaluate(this.config.Delay));
|
|
}
|
|
|
|
public override void OnAdded()
|
|
{
|
|
_waitTimer.Reset(true);
|
|
_waitTimer.SetActive(true);
|
|
}
|
|
|
|
public override void Core()
|
|
{
|
|
_waitTimer.Core(1f);
|
|
if (_waitTimer.isTimeUp)
|
|
{
|
|
OnTimeUp();
|
|
}
|
|
}
|
|
|
|
public void OnTimeUp()
|
|
{
|
|
actor.abilityPlugin.HandleActionTargetDispatch(config.OnTimeUp, instancedAbility, instancedModifier, actor, null);
|
|
_waitTimer.Reset(false);
|
|
}
|
|
}
|
|
}
|