コード例 #1
0
 public bool DeepEquals(DestinyNodeStepDefinition?other)
 {
     return(other is not null &&
            (DisplayProperties is not null ? DisplayProperties.DeepEquals(other.DisplayProperties) : other.DisplayProperties is null) &&
            StepIndex == other.StepIndex &&
            NodeStepHash == other.NodeStepHash &&
            InteractionDescription == other.InteractionDescription &&
            DamageType == other.DamageType &&
            DamageTypeHash == other.DamageTypeHash &&
            (ActivationRequirement is not null ? ActivationRequirement.DeepEquals(other.ActivationRequirement) : other.ActivationRequirement is null) &&
            CanActivateNextStep == other.CanActivateNextStep &&
            NextStepIndex == other.NextStepIndex &&
            IsNextStepRandom == other.IsNextStepRandom &&
            PerkHashes.DeepEqualsListNaive(other.PerkHashes) &&
            StartProgressionBarAtProgress == other.StartProgressionBarAtProgress &&
            StatHashes.DeepEqualsListNaive(other.StatHashes) &&
            AffectsQuality == other.AffectsQuality &&
            (StepGroups is not null ? StepGroups.DeepEquals(other.StepGroups) : other.StepGroups is null) &&
            AffectsLevel == other.AffectsLevel &&
            SocketReplacements.DeepEqualsList(other.SocketReplacements));
 }
コード例 #2
0
 public void Update(DestinyNodeStepDefinition?other)
 {
     if (other is null)
     {
         return;
     }
     if (!DisplayProperties.DeepEquals(other.DisplayProperties))
     {
         DisplayProperties.Update(other.DisplayProperties);
         OnPropertyChanged(nameof(DisplayProperties));
     }
     if (StepIndex != other.StepIndex)
     {
         StepIndex = other.StepIndex;
         OnPropertyChanged(nameof(StepIndex));
     }
     if (NodeStepHash != other.NodeStepHash)
     {
         NodeStepHash = other.NodeStepHash;
         OnPropertyChanged(nameof(NodeStepHash));
     }
     if (InteractionDescription != other.InteractionDescription)
     {
         InteractionDescription = other.InteractionDescription;
         OnPropertyChanged(nameof(InteractionDescription));
     }
     if (DamageType != other.DamageType)
     {
         DamageType = other.DamageType;
         OnPropertyChanged(nameof(DamageType));
     }
     if (DamageTypeHash != other.DamageTypeHash)
     {
         DamageTypeHash = other.DamageTypeHash;
         OnPropertyChanged(nameof(DamageTypeHash));
     }
     if (!ActivationRequirement.DeepEquals(other.ActivationRequirement))
     {
         ActivationRequirement.Update(other.ActivationRequirement);
         OnPropertyChanged(nameof(ActivationRequirement));
     }
     if (CanActivateNextStep != other.CanActivateNextStep)
     {
         CanActivateNextStep = other.CanActivateNextStep;
         OnPropertyChanged(nameof(CanActivateNextStep));
     }
     if (NextStepIndex != other.NextStepIndex)
     {
         NextStepIndex = other.NextStepIndex;
         OnPropertyChanged(nameof(NextStepIndex));
     }
     if (IsNextStepRandom != other.IsNextStepRandom)
     {
         IsNextStepRandom = other.IsNextStepRandom;
         OnPropertyChanged(nameof(IsNextStepRandom));
     }
     if (!PerkHashes.DeepEqualsListNaive(other.PerkHashes))
     {
         PerkHashes = other.PerkHashes;
         OnPropertyChanged(nameof(PerkHashes));
     }
     if (StartProgressionBarAtProgress != other.StartProgressionBarAtProgress)
     {
         StartProgressionBarAtProgress = other.StartProgressionBarAtProgress;
         OnPropertyChanged(nameof(StartProgressionBarAtProgress));
     }
     if (!StatHashes.DeepEqualsListNaive(other.StatHashes))
     {
         StatHashes = other.StatHashes;
         OnPropertyChanged(nameof(StatHashes));
     }
     if (AffectsQuality != other.AffectsQuality)
     {
         AffectsQuality = other.AffectsQuality;
         OnPropertyChanged(nameof(AffectsQuality));
     }
     if (!StepGroups.DeepEquals(other.StepGroups))
     {
         StepGroups.Update(other.StepGroups);
         OnPropertyChanged(nameof(StepGroups));
     }
     if (AffectsLevel != other.AffectsLevel)
     {
         AffectsLevel = other.AffectsLevel;
         OnPropertyChanged(nameof(AffectsLevel));
     }
     if (!SocketReplacements.DeepEqualsList(other.SocketReplacements))
     {
         SocketReplacements = other.SocketReplacements;
         OnPropertyChanged(nameof(SocketReplacements));
     }
 }