mirror of
https://github.com/tym1116/BH3.git
synced 2025-12-17 00:44:49 +01:00
155 lines
4.7 KiB
C#
155 lines
4.7 KiB
C#
namespace MoleMole.Config
|
|
{
|
|
[GeneratePartialHash(CombineGeneratedFile = true)]
|
|
public class AvatarSkillButtonHoldNormalizedTimeChargeAnimatorMixin : BaseAvatarSkillButtonHoldChargeAnimatorMixin, IHashable
|
|
{
|
|
public float[] ChargeLoopNormalizeTimeEnds;
|
|
|
|
public float[][] ChargeEndNormalizeTimeThershold;
|
|
|
|
public ConfigAbilityAction[][][] ChargeEndNormalizeTimeActions;
|
|
|
|
public void ObjectContentHashOnto(ref int lastHash)
|
|
{
|
|
if (ChargeLoopNormalizeTimeEnds != null)
|
|
{
|
|
float[] chargeLoopNormalizeTimeEnds = ChargeLoopNormalizeTimeEnds;
|
|
foreach (float value in chargeLoopNormalizeTimeEnds)
|
|
{
|
|
HashUtils.ContentHashOnto(value, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeEndNormalizeTimeThershold != null)
|
|
{
|
|
float[][] chargeEndNormalizeTimeThershold = ChargeEndNormalizeTimeThershold;
|
|
foreach (float[] array in chargeEndNormalizeTimeThershold)
|
|
{
|
|
if (array != null)
|
|
{
|
|
float[] array2 = array;
|
|
foreach (float value2 in array2)
|
|
{
|
|
HashUtils.ContentHashOnto(value2, ref lastHash);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (ChargeEndNormalizeTimeActions != null)
|
|
{
|
|
ConfigAbilityAction[][][] chargeEndNormalizeTimeActions = ChargeEndNormalizeTimeActions;
|
|
foreach (ConfigAbilityAction[][] array3 in chargeEndNormalizeTimeActions)
|
|
{
|
|
if (array3 == null)
|
|
{
|
|
continue;
|
|
}
|
|
ConfigAbilityAction[][] array4 = array3;
|
|
foreach (ConfigAbilityAction[] array5 in array4)
|
|
{
|
|
if (array5 == null)
|
|
{
|
|
continue;
|
|
}
|
|
ConfigAbilityAction[] array6 = array5;
|
|
foreach (ConfigAbilityAction configAbilityAction in array6)
|
|
{
|
|
if (configAbilityAction is IHashable)
|
|
{
|
|
HashUtils.ContentHashOnto((IHashable)configAbilityAction, 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 value3 in beforeSkillIDs)
|
|
{
|
|
HashUtils.ContentHashOnto(value3, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeLoopSkillIDs != null)
|
|
{
|
|
string[] chargeLoopSkillIDs = ChargeLoopSkillIDs;
|
|
foreach (string value4 in chargeLoopSkillIDs)
|
|
{
|
|
HashUtils.ContentHashOnto(value4, ref lastHash);
|
|
}
|
|
}
|
|
if (AfterSkillIDs != null)
|
|
{
|
|
string[] afterSkillIDs = AfterSkillIDs;
|
|
foreach (string value5 in afterSkillIDs)
|
|
{
|
|
HashUtils.ContentHashOnto(value5, ref lastHash);
|
|
}
|
|
}
|
|
if (TransientSkillIDs != null)
|
|
{
|
|
string[] transientSkillIDs = TransientSkillIDs;
|
|
foreach (string value6 in transientSkillIDs)
|
|
{
|
|
HashUtils.ContentHashOnto(value6, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeSubTargetAmount != null)
|
|
{
|
|
int[] chargeSubTargetAmount = ChargeSubTargetAmount;
|
|
foreach (int value7 in chargeSubTargetAmount)
|
|
{
|
|
HashUtils.ContentHashOnto(value7, 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 value8 in chargeLoopAudioPatterns)
|
|
{
|
|
HashUtils.ContentHashOnto(value8, ref lastHash);
|
|
}
|
|
}
|
|
if (ChargeSwitchAudioPatterns != null)
|
|
{
|
|
string[] chargeSwitchAudioPatterns = ChargeSwitchAudioPatterns;
|
|
foreach (string value9 in chargeSwitchAudioPatterns)
|
|
{
|
|
HashUtils.ContentHashOnto(value9, 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 AbilityAvatarSkillButtonHoldNormalizedTimeChargeAnimatorMixin(instancedAbility, instancedModifier, this);
|
|
}
|
|
}
|
|
}
|