Files
BH3/Assets/Scripts/Assembly-CSharp/MoleMole/Config/DelayMixin.cs
2025-08-13 09:26:42 +08:00

40 lines
1.0 KiB
C#

namespace MoleMole.Config
{
[GeneratePartialHash(CombineGeneratedFile = true)]
public class DelayMixin : ConfigAbilityMixin, IHashable
{
public ConfigAbilityAction[] OnTimeUp = ConfigAbilityAction.EMPTY;
public DynamicFloat Delay = new DynamicFloat
{
fixedValue = 60f
};
public void ObjectContentHashOnto(ref int lastHash)
{
if (OnTimeUp != null)
{
ConfigAbilityAction[] onTimeUp = OnTimeUp;
foreach (ConfigAbilityAction configAbilityAction in onTimeUp)
{
if (configAbilityAction is IHashable)
{
HashUtils.ContentHashOnto((IHashable)configAbilityAction, ref lastHash);
}
}
}
if (Delay != null)
{
HashUtils.ContentHashOnto(Delay.isDynamic, ref lastHash);
HashUtils.ContentHashOnto(Delay.fixedValue, ref lastHash);
HashUtils.ContentHashOnto(Delay.dynamicKey, ref lastHash);
}
}
public override BaseAbilityMixin CreateInstancedMixin(ActorAbility instancedAbility, ActorModifier instancedModifier)
{
return new AbilityDelayMixin(instancedAbility, instancedModifier, this);
}
}
}