mirror of
https://github.com/tym1116/BH3.git
synced 2025-12-17 00:44:49 +01:00
117 lines
3.7 KiB
C#
117 lines
3.7 KiB
C#
namespace MoleMole.Config
|
|
{
|
|
[GeneratePartialHash(CombineGeneratedFile = true)]
|
|
public class AvatarSkillButtonHoldChargeAnimatorMixin : BaseAvatarSkillButtonHoldChargeAnimatorMixin, IHashable
|
|
{
|
|
public float[] ChargeLoopDurations;
|
|
|
|
public DynamicFloat ChargeTimeRatio = DynamicFloat.ONE;
|
|
|
|
public void ObjectContentHashOnto(ref int lastHash)
|
|
{
|
|
if (ChargeLoopDurations != null)
|
|
{
|
|
float[] chargeLoopDurations = ChargeLoopDurations;
|
|
foreach (float value in chargeLoopDurations)
|
|
{
|
|
HashUtils.ContentHashOnto(value, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeTimeRatio != null)
|
|
{
|
|
HashUtils.ContentHashOnto(ChargeTimeRatio.isDynamic, ref lastHash);
|
|
HashUtils.ContentHashOnto(ChargeTimeRatio.fixedValue, ref lastHash);
|
|
HashUtils.ContentHashOnto(ChargeTimeRatio.dynamicKey, ref lastHash);
|
|
}
|
|
HashUtils.ContentHashOnto(AllowHoldLockDirection, ref lastHash);
|
|
HashUtils.ContentHashOnto(SkillButtonID, ref lastHash);
|
|
HashUtils.ContentHashOnto(NextLoopTriggerID, ref lastHash);
|
|
HashUtils.ContentHashOnto(AfterSkillTriggerID, ref lastHash);
|
|
if (BeforeSkillIDs != null)
|
|
{
|
|
string[] beforeSkillIDs = BeforeSkillIDs;
|
|
foreach (string value2 in beforeSkillIDs)
|
|
{
|
|
HashUtils.ContentHashOnto(value2, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeLoopSkillIDs != null)
|
|
{
|
|
string[] chargeLoopSkillIDs = ChargeLoopSkillIDs;
|
|
foreach (string value3 in chargeLoopSkillIDs)
|
|
{
|
|
HashUtils.ContentHashOnto(value3, ref lastHash);
|
|
}
|
|
}
|
|
if (AfterSkillIDs != null)
|
|
{
|
|
string[] afterSkillIDs = AfterSkillIDs;
|
|
foreach (string value4 in afterSkillIDs)
|
|
{
|
|
HashUtils.ContentHashOnto(value4, ref lastHash);
|
|
}
|
|
}
|
|
if (TransientSkillIDs != null)
|
|
{
|
|
string[] transientSkillIDs = TransientSkillIDs;
|
|
foreach (string value5 in transientSkillIDs)
|
|
{
|
|
HashUtils.ContentHashOnto(value5, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeSubTargetAmount != null)
|
|
{
|
|
int[] chargeSubTargetAmount = ChargeSubTargetAmount;
|
|
foreach (int value6 in chargeSubTargetAmount)
|
|
{
|
|
HashUtils.ContentHashOnto(value6, ref lastHash);
|
|
}
|
|
}
|
|
HashUtils.ContentHashOnto(SubTargetModifierName, ref lastHash);
|
|
HashUtils.ContentHashOnto(ChargeTimeRatioAIKey, ref lastHash);
|
|
if (ChargeLoopEffects != null)
|
|
{
|
|
MixinEffect[] chargeLoopEffects = ChargeLoopEffects;
|
|
foreach (MixinEffect mixinEffect in chargeLoopEffects)
|
|
{
|
|
HashUtils.ContentHashOnto(mixinEffect.EffectPattern, ref lastHash);
|
|
HashUtils.ContentHashOnto(mixinEffect.AudioPattern, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeSwitchEffects != null)
|
|
{
|
|
MixinEffect[] chargeSwitchEffects = ChargeSwitchEffects;
|
|
foreach (MixinEffect mixinEffect2 in chargeSwitchEffects)
|
|
{
|
|
HashUtils.ContentHashOnto(mixinEffect2.EffectPattern, ref lastHash);
|
|
HashUtils.ContentHashOnto(mixinEffect2.AudioPattern, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeLoopAudioPatterns != null)
|
|
{
|
|
string[] chargeLoopAudioPatterns = ChargeLoopAudioPatterns;
|
|
foreach (string value7 in chargeLoopAudioPatterns)
|
|
{
|
|
HashUtils.ContentHashOnto(value7, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeSwitchAudioPatterns != null)
|
|
{
|
|
string[] chargeSwitchAudioPatterns = ChargeSwitchAudioPatterns;
|
|
foreach (string value8 in chargeSwitchAudioPatterns)
|
|
{
|
|
HashUtils.ContentHashOnto(value8, ref lastHash);
|
|
}
|
|
}
|
|
HashUtils.ContentHashOnto(ImmediatelyDetachLoopEffect, ref lastHash);
|
|
HashUtils.ContentHashOnto(ChargeSwitchWindow, ref lastHash);
|
|
HashUtils.ContentHashOnto(DisallowReleaseButtonInBS, ref lastHash);
|
|
}
|
|
|
|
public override BaseAbilityMixin CreateInstancedMixin(ActorAbility instancedAbility, ActorModifier instancedModifier)
|
|
{
|
|
return new AbilityAvatarSkillButtonHoldChargeMixin(instancedAbility, instancedModifier, this);
|
|
}
|
|
}
|
|
}
|