Пример #1
0
 public bool DeepEquals(DestinyCharacterProgressionComponent?other)
 {
     return(other is not null &&
            Progressions.DeepEqualsDictionary(other.Progressions) &&
            Factions.DeepEqualsDictionary(other.Factions) &&
            Milestones.DeepEqualsDictionary(other.Milestones) &&
            Quests.DeepEqualsList(other.Quests) &&
            UninstancedItemObjectives.DeepEqualsDictionaryNaive(other.UninstancedItemObjectives) &&
            UninstancedItemPerks.DeepEqualsDictionary(other.UninstancedItemPerks) &&
            Checklists.DeepEqualsDictionaryNaive(other.Checklists) &&
            (SeasonalArtifact is not null ? SeasonalArtifact.DeepEquals(other.SeasonalArtifact) : other.SeasonalArtifact is null));
 }
Пример #2
0
 public void Update(DestinyCharacterProgressionComponent?other)
 {
     if (other is null)
     {
         return;
     }
     if (!Progressions.DeepEqualsDictionary(other.Progressions))
     {
         Progressions = other.Progressions;
         OnPropertyChanged(nameof(Progressions));
     }
     if (!Factions.DeepEqualsDictionary(other.Factions))
     {
         Factions = other.Factions;
         OnPropertyChanged(nameof(Factions));
     }
     if (!Milestones.DeepEqualsDictionary(other.Milestones))
     {
         Milestones = other.Milestones;
         OnPropertyChanged(nameof(Milestones));
     }
     if (!Quests.DeepEqualsList(other.Quests))
     {
         Quests = other.Quests;
         OnPropertyChanged(nameof(Quests));
     }
     if (!UninstancedItemObjectives.DeepEqualsDictionary(other.UninstancedItemObjectives))
     {
         UninstancedItemObjectives = other.UninstancedItemObjectives;
         OnPropertyChanged(nameof(UninstancedItemObjectives));
     }
     if (!UninstancedItemPerks.DeepEqualsDictionary(other.UninstancedItemPerks))
     {
         UninstancedItemPerks = other.UninstancedItemPerks;
         OnPropertyChanged(nameof(UninstancedItemPerks));
     }
     if (!Checklists.DeepEqualsDictionary(other.Checklists))
     {
         Checklists = other.Checklists;
         OnPropertyChanged(nameof(Checklists));
     }
     if (!SeasonalArtifact.DeepEquals(other.SeasonalArtifact))
     {
         SeasonalArtifact.Update(other.SeasonalArtifact);
         OnPropertyChanged(nameof(SeasonalArtifact));
     }
 }
        public bool Equals(DestinyCharacterProgressionComponent input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     Progressions == input.Progressions ||
                     (Progressions != null && Progressions.SequenceEqual(input.Progressions))
                     ) &&
                 (
                     Factions == input.Factions ||
                     (Factions != null && Factions.SequenceEqual(input.Factions))
                 ) &&
                 (
                     Milestones == input.Milestones ||
                     (Milestones != null && Milestones.SequenceEqual(input.Milestones))
                 ) &&
                 (
                     Quests == input.Quests ||
                     (Quests != null && Quests.SequenceEqual(input.Quests))
                 ) &&
                 (
                     UninstancedItemObjectives == input.UninstancedItemObjectives ||
                     (UninstancedItemObjectives != null && UninstancedItemObjectives.SequenceEqual(input.UninstancedItemObjectives))
                 ) &&
                 (
                     UninstancedItemPerks == input.UninstancedItemPerks ||
                     (UninstancedItemPerks != null && UninstancedItemPerks.SequenceEqual(input.UninstancedItemPerks))
                 ) &&
                 (
                     Checklists == input.Checklists ||
                     (Checklists != null && Checklists.SequenceEqual(input.Checklists))
                 ) &&
                 (
                     SeasonalArtifact == input.SeasonalArtifact ||
                     (SeasonalArtifact != null && SeasonalArtifact.Equals(input.SeasonalArtifact))
                 ));
        }