Exemplo n.º 1
0
 public bool DeepEquals(InventoryItemTalentGrid other)
 {
     return(other != null &&
            HudDamageType == other.HudDamageType &&
            ItemDetailString == other.ItemDetailString &&
            TalentGrid.DeepEquals(other.TalentGrid) &&
            BuildName == other.BuildName &&
            HudIcon == other.HudIcon);
 }
Exemplo n.º 2
0
        public bool Equals(DestinyItemResponse input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     CharacterId == input.CharacterId ||
                     (CharacterId.Equals(input.CharacterId))
                     ) &&
                 (
                     Item == input.Item ||
                     (Item != null && Item.Equals(input.Item))
                 ) &&
                 (
                     Instance == input.Instance ||
                     (Instance != null && Instance.Equals(input.Instance))
                 ) &&
                 (
                     Objectives == input.Objectives ||
                     (Objectives != null && Objectives.Equals(input.Objectives))
                 ) &&
                 (
                     Perks == input.Perks ||
                     (Perks != null && Perks.Equals(input.Perks))
                 ) &&
                 (
                     RenderData == input.RenderData ||
                     (RenderData != null && RenderData.Equals(input.RenderData))
                 ) &&
                 (
                     Stats == input.Stats ||
                     (Stats != null && Stats.Equals(input.Stats))
                 ) &&
                 (
                     TalentGrid == input.TalentGrid ||
                     (TalentGrid != null && TalentGrid.Equals(input.TalentGrid))
                 ) &&
                 (
                     Sockets == input.Sockets ||
                     (Sockets != null && Sockets.Equals(input.Sockets))
                 ) &&
                 (
                     ReusablePlugs == input.ReusablePlugs ||
                     (ReusablePlugs != null && ReusablePlugs.Equals(input.ReusablePlugs))
                 ) &&
                 (
                     PlugObjectives == input.PlugObjectives ||
                     (PlugObjectives != null && PlugObjectives.Equals(input.PlugObjectives))
                 ));
        }
 public bool DeepEquals(DestinyItemResponse?other)
 {
     return(other is not null &&
            CharacterId == other.CharacterId &&
            (Item is not null ? Item.DeepEquals(other.Item) : other.Item is null) &&
            (Instance is not null ? Instance.DeepEquals(other.Instance) : other.Instance is null) &&
            (Objectives is not null ? Objectives.DeepEquals(other.Objectives) : other.Objectives is null) &&
            (Perks is not null ? Perks.DeepEquals(other.Perks) : other.Perks is null) &&
            (RenderData is not null ? RenderData.DeepEquals(other.RenderData) : other.RenderData is null) &&
            (Stats is not null ? Stats.DeepEquals(other.Stats) : other.Stats is null) &&
            (TalentGrid is not null ? TalentGrid.DeepEquals(other.TalentGrid) : other.TalentGrid is null) &&
            (Sockets is not null ? Sockets.DeepEquals(other.Sockets) : other.Sockets is null) &&
            (ReusablePlugs is not null ? ReusablePlugs.DeepEquals(other.ReusablePlugs) : other.ReusablePlugs is null) &&
            (PlugObjectives is not null ? PlugObjectives.DeepEquals(other.PlugObjectives) : other.PlugObjectives is null));
 }
Exemplo n.º 4
0
 public bool DeepEquals(DestinyInventoryItemDefinition other)
 {
     return(other != null &&
            Collectible.DeepEquals(other.Collectible) &&
            SummaryItem.DeepEquals(other.SummaryItem) &&
            ItemCategories.DeepEqualsReadOnlyCollections(other.ItemCategories) &&
            AcquireRewardSiteHash == other.AcquireRewardSiteHash &&
            AcquireUnlockHash == other.AcquireUnlockHash &&
            AllowActions == other.AllowActions &&
            (BackgroundColor != null ? BackgroundColor.DeepEquals(other.BackgroundColor) : other.BackgroundColor == null) &&
            BreakerTypeEnumValue == other.BreakerTypeEnumValue &&
            BreakerType.DeepEquals(other.BreakerType) &&
            ClassType == other.ClassType &&
            DefaultDamageTypeEnumValue == other.DefaultDamageTypeEnumValue &&
            DefaultDamageType.DeepEquals(other.DefaultDamageType) &&
            ItemSubType == other.ItemSubType &&
            ItemType == other.ItemType &&
            SpecialItemType == other.SpecialItemType &&
            DisplayProperties.DeepEquals(other.DisplayProperties) &&
            DisplaySource == other.DisplaySource &&
            DoesPostmasterPullHaveSideEffects == other.DoesPostmasterPullHaveSideEffects &&
            Equippable == other.Equippable &&
            IconWatermark == other.IconWatermark &&
            IconWatermarkShelved == other.IconWatermarkShelved &&
            IsWrapper == other.IsWrapper &&
            ItemTypeAndTierDisplayName == other.ItemTypeAndTierDisplayName &&
            ItemTypeDisplayName == other.ItemTypeDisplayName &&
            UiItemDisplayStyle == other.UiItemDisplayStyle &&
            NonTransferrable == other.NonTransferrable &&
            SecondaryIcon == other.SecondaryIcon &&
            SecondaryOverlay == other.SecondaryOverlay &&
            SecondarySpecial == other.SecondarySpecial &&
            Screenshot == other.Screenshot &&
            TooltipStyle == other.TooltipStyle &&
            TraitIds.DeepEqualsReadOnlySimpleCollection(other.TraitIds) &&
            (Stats != null ? Stats.DeepEquals(other.Stats) : other.Stats == null) &&
            (TalentGrid != null ? TalentGrid.DeepEquals(other.TalentGrid) : other.TalentGrid == null) &&
            (TranslationBlock != null ? TranslationBlock.DeepEquals(other.TranslationBlock) : other.TranslationBlock == null) &&
            (Value != null ? Value.DeepEquals(other.Value) : other.Value == null) &&
            (SetData != null ? SetData.DeepEquals(other.SetData) : other.SetData == null) &&
            (Plug != null ? Plug.DeepEquals(other.Plug) : other.Plug == null) &&
            (Preview != null ? Preview.DeepEquals(other.Preview) : other.Preview == null) &&
            (Quality != null ? Quality.DeepEquals(other.Quality) : other.Quality == null) &&
            (Objectives != null ? Objectives.DeepEquals(other.Objectives) : other.Objectives == null) &&
            Inventory.DeepEquals(other.Inventory) &&
            (Action != null ? Action.DeepEquals(other.Action) : other.Action == null) &&
            (EquippingBlock != null ? EquippingBlock.DeepEquals(other.EquippingBlock) : other.EquippingBlock == null) &&
            (Sockets != null ? Sockets.DeepEquals(other.Sockets) : other.Sockets == null) &&
            InvestmentStats.DeepEqualsReadOnlyCollections(other.InvestmentStats) &&
            Perks.DeepEqualsReadOnlyCollections(other.Perks) &&
            TooltipNotifications.DeepEqualsReadOnlyCollections(other.TooltipNotifications) &&
            (Sack != null ? Sack.DeepEquals(other.Sack) : other.Sack == null) &&
            (Gearset != null ? Gearset.DeepEquals(other.Gearset) : other.Gearset == null) &&
            EmblemObjective.DeepEquals(other.EmblemObjective) &&
            (SourceData != null ? SourceData.DeepEquals(other.SourceData) : other.SourceData == null) &&
            (Metrics != null ? Metrics.DeepEquals(other.Metrics) : other.Metrics == null) &&
            (Summary != null ? Summary.DeepEquals(other.Summary) : other.Summary == null) &&
            Lore.DeepEquals(other.Lore) &&
            Animations.DeepEqualsReadOnlyCollections(other.Animations) &&
            Links.DeepEqualsReadOnlyCollections(other.Links) &&
            DamageTypes.DeepEqualsReadOnlyCollections(other.DamageTypes) &&
            DamageTypeEnumValues.DeepEqualsReadOnlySimpleCollection(other.DamageTypeEnumValues) &&
            Season.DeepEquals(other.Season) &&
            Blacklisted == other.Blacklisted &&
            Hash == other.Hash &&
            Index == other.Index &&
            Redacted == other.Redacted);
 }
 public void Update(DestinyItemResponse?other)
 {
     if (other is null)
     {
         return;
     }
     if (CharacterId != other.CharacterId)
     {
         CharacterId = other.CharacterId;
         OnPropertyChanged(nameof(CharacterId));
     }
     if (!Item.DeepEquals(other.Item))
     {
         Item.Update(other.Item);
         OnPropertyChanged(nameof(Item));
     }
     if (!Instance.DeepEquals(other.Instance))
     {
         Instance.Update(other.Instance);
         OnPropertyChanged(nameof(Instance));
     }
     if (!Objectives.DeepEquals(other.Objectives))
     {
         Objectives.Update(other.Objectives);
         OnPropertyChanged(nameof(Objectives));
     }
     if (!Perks.DeepEquals(other.Perks))
     {
         Perks.Update(other.Perks);
         OnPropertyChanged(nameof(Perks));
     }
     if (!RenderData.DeepEquals(other.RenderData))
     {
         RenderData.Update(other.RenderData);
         OnPropertyChanged(nameof(RenderData));
     }
     if (!Stats.DeepEquals(other.Stats))
     {
         Stats.Update(other.Stats);
         OnPropertyChanged(nameof(Stats));
     }
     if (!TalentGrid.DeepEquals(other.TalentGrid))
     {
         TalentGrid.Update(other.TalentGrid);
         OnPropertyChanged(nameof(TalentGrid));
     }
     if (!Sockets.DeepEquals(other.Sockets))
     {
         Sockets.Update(other.Sockets);
         OnPropertyChanged(nameof(Sockets));
     }
     if (!ReusablePlugs.DeepEquals(other.ReusablePlugs))
     {
         ReusablePlugs.Update(other.ReusablePlugs);
         OnPropertyChanged(nameof(ReusablePlugs));
     }
     if (!PlugObjectives.DeepEquals(other.PlugObjectives))
     {
         PlugObjectives.Update(other.PlugObjectives);
         OnPropertyChanged(nameof(PlugObjectives));
     }
 }
Exemplo n.º 6
0
        public bool Equals(DestinyInventoryItemDefinition input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     DisplayProperties == input.DisplayProperties ||
                     (DisplayProperties != null && DisplayProperties.Equals(input.DisplayProperties))
                     ) &&
                 (
                     TooltipNotifications == input.TooltipNotifications ||
                     (TooltipNotifications != null && TooltipNotifications.SequenceEqual(input.TooltipNotifications))
                 ) &&
                 (
                     CollectibleHash == input.CollectibleHash ||
                     (CollectibleHash.Equals(input.CollectibleHash))
                 ) &&
                 (
                     IconWatermark == input.IconWatermark ||
                     (IconWatermark != null && IconWatermark.Equals(input.IconWatermark))
                 ) &&
                 (
                     IconWatermarkShelved == input.IconWatermarkShelved ||
                     (IconWatermarkShelved != null && IconWatermarkShelved.Equals(input.IconWatermarkShelved))
                 ) &&
                 (
                     SecondaryIcon == input.SecondaryIcon ||
                     (SecondaryIcon != null && SecondaryIcon.Equals(input.SecondaryIcon))
                 ) &&
                 (
                     SecondaryOverlay == input.SecondaryOverlay ||
                     (SecondaryOverlay != null && SecondaryOverlay.Equals(input.SecondaryOverlay))
                 ) &&
                 (
                     SecondarySpecial == input.SecondarySpecial ||
                     (SecondarySpecial != null && SecondarySpecial.Equals(input.SecondarySpecial))
                 ) &&
                 (
                     BackgroundColor == input.BackgroundColor ||
                     (BackgroundColor != null && BackgroundColor.Equals(input.BackgroundColor))
                 ) &&
                 (
                     Screenshot == input.Screenshot ||
                     (Screenshot != null && Screenshot.Equals(input.Screenshot))
                 ) &&
                 (
                     ItemTypeDisplayName == input.ItemTypeDisplayName ||
                     (ItemTypeDisplayName != null && ItemTypeDisplayName.Equals(input.ItemTypeDisplayName))
                 ) &&
                 (
                     FlavorText == input.FlavorText ||
                     (FlavorText != null && FlavorText.Equals(input.FlavorText))
                 ) &&
                 (
                     UiItemDisplayStyle == input.UiItemDisplayStyle ||
                     (UiItemDisplayStyle != null && UiItemDisplayStyle.Equals(input.UiItemDisplayStyle))
                 ) &&
                 (
                     ItemTypeAndTierDisplayName == input.ItemTypeAndTierDisplayName ||
                     (ItemTypeAndTierDisplayName != null && ItemTypeAndTierDisplayName.Equals(input.ItemTypeAndTierDisplayName))
                 ) &&
                 (
                     DisplaySource == input.DisplaySource ||
                     (DisplaySource != null && DisplaySource.Equals(input.DisplaySource))
                 ) &&
                 (
                     TooltipStyle == input.TooltipStyle ||
                     (TooltipStyle != null && TooltipStyle.Equals(input.TooltipStyle))
                 ) &&
                 (
                     Action == input.Action ||
                     (Action != null && Action.Equals(input.Action))
                 ) &&
                 (
                     Inventory == input.Inventory ||
                     (Inventory != null && Inventory.Equals(input.Inventory))
                 ) &&
                 (
                     SetData == input.SetData ||
                     (SetData != null && SetData.Equals(input.SetData))
                 ) &&
                 (
                     Stats == input.Stats ||
                     (Stats != null && Stats.Equals(input.Stats))
                 ) &&
                 (
                     EmblemObjectiveHash == input.EmblemObjectiveHash ||
                     (EmblemObjectiveHash.Equals(input.EmblemObjectiveHash))
                 ) &&
                 (
                     EquippingBlock == input.EquippingBlock ||
                     (EquippingBlock != null && EquippingBlock.Equals(input.EquippingBlock))
                 ) &&
                 (
                     TranslationBlock == input.TranslationBlock ||
                     (TranslationBlock != null && TranslationBlock.Equals(input.TranslationBlock))
                 ) &&
                 (
                     Preview == input.Preview ||
                     (Preview != null && Preview.Equals(input.Preview))
                 ) &&
                 (
                     Quality == input.Quality ||
                     (Quality != null && Quality.Equals(input.Quality))
                 ) &&
                 (
                     Value == input.Value ||
                     (Value != null && Value.Equals(input.Value))
                 ) &&
                 (
                     SourceData == input.SourceData ||
                     (SourceData != null && SourceData.Equals(input.SourceData))
                 ) &&
                 (
                     Objectives == input.Objectives ||
                     (Objectives != null && Objectives.Equals(input.Objectives))
                 ) &&
                 (
                     Metrics == input.Metrics ||
                     (Metrics != null && Metrics.Equals(input.Metrics))
                 ) &&
                 (
                     Plug == input.Plug ||
                     (Plug != null && Plug.Equals(input.Plug))
                 ) &&
                 (
                     Gearset == input.Gearset ||
                     (Gearset != null && Gearset.Equals(input.Gearset))
                 ) &&
                 (
                     Sack == input.Sack ||
                     (Sack != null && Sack.Equals(input.Sack))
                 ) &&
                 (
                     Sockets == input.Sockets ||
                     (Sockets != null && Sockets.Equals(input.Sockets))
                 ) &&
                 (
                     Summary == input.Summary ||
                     (Summary != null && Summary.Equals(input.Summary))
                 ) &&
                 (
                     TalentGrid == input.TalentGrid ||
                     (TalentGrid != null && TalentGrid.Equals(input.TalentGrid))
                 ) &&
                 (
                     InvestmentStats == input.InvestmentStats ||
                     (InvestmentStats != null && InvestmentStats.SequenceEqual(input.InvestmentStats))
                 ) &&
                 (
                     Perks == input.Perks ||
                     (Perks != null && Perks.SequenceEqual(input.Perks))
                 ) &&
                 (
                     LoreHash == input.LoreHash ||
                     (LoreHash.Equals(input.LoreHash))
                 ) &&
                 (
                     SummaryItemHash == input.SummaryItemHash ||
                     (SummaryItemHash.Equals(input.SummaryItemHash))
                 ) &&
                 (
                     Animations == input.Animations ||
                     (Animations != null && Animations.SequenceEqual(input.Animations))
                 ) &&
                 (
                     AllowActions == input.AllowActions ||
                     (AllowActions != null && AllowActions.Equals(input.AllowActions))
                 ) &&
                 (
                     Links == input.Links ||
                     (Links != null && Links.SequenceEqual(input.Links))
                 ) &&
                 (
                     DoesPostmasterPullHaveSideEffects == input.DoesPostmasterPullHaveSideEffects ||
                     (DoesPostmasterPullHaveSideEffects != null && DoesPostmasterPullHaveSideEffects.Equals(input.DoesPostmasterPullHaveSideEffects))
                 ) &&
                 (
                     NonTransferrable == input.NonTransferrable ||
                     (NonTransferrable != null && NonTransferrable.Equals(input.NonTransferrable))
                 ) &&
                 (
                     ItemCategoryHashes == input.ItemCategoryHashes ||
                     (ItemCategoryHashes != null && ItemCategoryHashes.SequenceEqual(input.ItemCategoryHashes))
                 ) &&
                 (
                     SpecialItemType == input.SpecialItemType ||
                     (SpecialItemType != null && SpecialItemType.Equals(input.SpecialItemType))
                 ) &&
                 (
                     ItemType == input.ItemType ||
                     (ItemType != null && ItemType.Equals(input.ItemType))
                 ) &&
                 (
                     ItemSubType == input.ItemSubType ||
                     (ItemSubType != null && ItemSubType.Equals(input.ItemSubType))
                 ) &&
                 (
                     ClassType == input.ClassType ||
                     (ClassType != null && ClassType.Equals(input.ClassType))
                 ) &&
                 (
                     BreakerType == input.BreakerType ||
                     (BreakerType != null && BreakerType.Equals(input.BreakerType))
                 ) &&
                 (
                     BreakerTypeHash == input.BreakerTypeHash ||
                     (BreakerTypeHash.Equals(input.BreakerTypeHash))
                 ) &&
                 (
                     Equippable == input.Equippable ||
                     (Equippable != null && Equippable.Equals(input.Equippable))
                 ) &&
                 (
                     DamageTypeHashes == input.DamageTypeHashes ||
                     (DamageTypeHashes != null && DamageTypeHashes.SequenceEqual(input.DamageTypeHashes))
                 ) &&
                 (
                     DamageTypes == input.DamageTypes ||
                     (DamageTypes != null && DamageTypes.SequenceEqual(input.DamageTypes))
                 ) &&
                 (
                     DefaultDamageType == input.DefaultDamageType ||
                     (DefaultDamageType != null && DefaultDamageType.Equals(input.DefaultDamageType))
                 ) &&
                 (
                     DefaultDamageTypeHash == input.DefaultDamageTypeHash ||
                     (DefaultDamageTypeHash.Equals(input.DefaultDamageTypeHash))
                 ) &&
                 (
                     SeasonHash == input.SeasonHash ||
                     (SeasonHash.Equals(input.SeasonHash))
                 ) &&
                 (
                     IsWrapper == input.IsWrapper ||
                     (IsWrapper != null && IsWrapper.Equals(input.IsWrapper))
                 ) &&
                 (
                     TraitIds == input.TraitIds ||
                     (TraitIds != null && TraitIds.SequenceEqual(input.TraitIds))
                 ) &&
                 (
                     TraitHashes == input.TraitHashes ||
                     (TraitHashes != null && TraitHashes.SequenceEqual(input.TraitHashes))
                 ) &&
                 (
                     Hash == input.Hash ||
                     (Hash.Equals(input.Hash))
                 ) &&
                 (
                     Index == input.Index ||
                     (Index.Equals(input.Index))
                 ) &&
                 (
                     Redacted == input.Redacted ||
                     (Redacted != null && Redacted.Equals(input.Redacted))
                 ));
        }
 public void Update(DestinyInventoryItemDefinition?other)
 {
     if (other is null)
     {
         return;
     }
     if (!DisplayProperties.DeepEquals(other.DisplayProperties))
     {
         DisplayProperties.Update(other.DisplayProperties);
         OnPropertyChanged(nameof(DisplayProperties));
     }
     if (!TooltipNotifications.DeepEqualsList(other.TooltipNotifications))
     {
         TooltipNotifications = other.TooltipNotifications;
         OnPropertyChanged(nameof(TooltipNotifications));
     }
     if (CollectibleHash != other.CollectibleHash)
     {
         CollectibleHash = other.CollectibleHash;
         OnPropertyChanged(nameof(CollectibleHash));
     }
     if (IconWatermark != other.IconWatermark)
     {
         IconWatermark = other.IconWatermark;
         OnPropertyChanged(nameof(IconWatermark));
     }
     if (IconWatermarkShelved != other.IconWatermarkShelved)
     {
         IconWatermarkShelved = other.IconWatermarkShelved;
         OnPropertyChanged(nameof(IconWatermarkShelved));
     }
     if (SecondaryIcon != other.SecondaryIcon)
     {
         SecondaryIcon = other.SecondaryIcon;
         OnPropertyChanged(nameof(SecondaryIcon));
     }
     if (SecondaryOverlay != other.SecondaryOverlay)
     {
         SecondaryOverlay = other.SecondaryOverlay;
         OnPropertyChanged(nameof(SecondaryOverlay));
     }
     if (SecondarySpecial != other.SecondarySpecial)
     {
         SecondarySpecial = other.SecondarySpecial;
         OnPropertyChanged(nameof(SecondarySpecial));
     }
     if (!BackgroundColor.DeepEquals(other.BackgroundColor))
     {
         BackgroundColor.Update(other.BackgroundColor);
         OnPropertyChanged(nameof(BackgroundColor));
     }
     if (Screenshot != other.Screenshot)
     {
         Screenshot = other.Screenshot;
         OnPropertyChanged(nameof(Screenshot));
     }
     if (ItemTypeDisplayName != other.ItemTypeDisplayName)
     {
         ItemTypeDisplayName = other.ItemTypeDisplayName;
         OnPropertyChanged(nameof(ItemTypeDisplayName));
     }
     if (FlavorText != other.FlavorText)
     {
         FlavorText = other.FlavorText;
         OnPropertyChanged(nameof(FlavorText));
     }
     if (UiItemDisplayStyle != other.UiItemDisplayStyle)
     {
         UiItemDisplayStyle = other.UiItemDisplayStyle;
         OnPropertyChanged(nameof(UiItemDisplayStyle));
     }
     if (ItemTypeAndTierDisplayName != other.ItemTypeAndTierDisplayName)
     {
         ItemTypeAndTierDisplayName = other.ItemTypeAndTierDisplayName;
         OnPropertyChanged(nameof(ItemTypeAndTierDisplayName));
     }
     if (DisplaySource != other.DisplaySource)
     {
         DisplaySource = other.DisplaySource;
         OnPropertyChanged(nameof(DisplaySource));
     }
     if (TooltipStyle != other.TooltipStyle)
     {
         TooltipStyle = other.TooltipStyle;
         OnPropertyChanged(nameof(TooltipStyle));
     }
     if (!Action.DeepEquals(other.Action))
     {
         Action.Update(other.Action);
         OnPropertyChanged(nameof(Action));
     }
     if (!Inventory.DeepEquals(other.Inventory))
     {
         Inventory.Update(other.Inventory);
         OnPropertyChanged(nameof(Inventory));
     }
     if (!SetData.DeepEquals(other.SetData))
     {
         SetData.Update(other.SetData);
         OnPropertyChanged(nameof(SetData));
     }
     if (!Stats.DeepEquals(other.Stats))
     {
         Stats.Update(other.Stats);
         OnPropertyChanged(nameof(Stats));
     }
     if (EmblemObjectiveHash != other.EmblemObjectiveHash)
     {
         EmblemObjectiveHash = other.EmblemObjectiveHash;
         OnPropertyChanged(nameof(EmblemObjectiveHash));
     }
     if (!EquippingBlock.DeepEquals(other.EquippingBlock))
     {
         EquippingBlock.Update(other.EquippingBlock);
         OnPropertyChanged(nameof(EquippingBlock));
     }
     if (!TranslationBlock.DeepEquals(other.TranslationBlock))
     {
         TranslationBlock.Update(other.TranslationBlock);
         OnPropertyChanged(nameof(TranslationBlock));
     }
     if (!Preview.DeepEquals(other.Preview))
     {
         Preview.Update(other.Preview);
         OnPropertyChanged(nameof(Preview));
     }
     if (!Quality.DeepEquals(other.Quality))
     {
         Quality.Update(other.Quality);
         OnPropertyChanged(nameof(Quality));
     }
     if (!Value.DeepEquals(other.Value))
     {
         Value.Update(other.Value);
         OnPropertyChanged(nameof(Value));
     }
     if (!SourceData.DeepEquals(other.SourceData))
     {
         SourceData.Update(other.SourceData);
         OnPropertyChanged(nameof(SourceData));
     }
     if (!Objectives.DeepEquals(other.Objectives))
     {
         Objectives.Update(other.Objectives);
         OnPropertyChanged(nameof(Objectives));
     }
     if (!Metrics.DeepEquals(other.Metrics))
     {
         Metrics.Update(other.Metrics);
         OnPropertyChanged(nameof(Metrics));
     }
     if (!Plug.DeepEquals(other.Plug))
     {
         Plug.Update(other.Plug);
         OnPropertyChanged(nameof(Plug));
     }
     if (!Gearset.DeepEquals(other.Gearset))
     {
         Gearset.Update(other.Gearset);
         OnPropertyChanged(nameof(Gearset));
     }
     if (!Sack.DeepEquals(other.Sack))
     {
         Sack.Update(other.Sack);
         OnPropertyChanged(nameof(Sack));
     }
     if (!Sockets.DeepEquals(other.Sockets))
     {
         Sockets.Update(other.Sockets);
         OnPropertyChanged(nameof(Sockets));
     }
     if (!Summary.DeepEquals(other.Summary))
     {
         Summary.Update(other.Summary);
         OnPropertyChanged(nameof(Summary));
     }
     if (!TalentGrid.DeepEquals(other.TalentGrid))
     {
         TalentGrid.Update(other.TalentGrid);
         OnPropertyChanged(nameof(TalentGrid));
     }
     if (!InvestmentStats.DeepEqualsList(other.InvestmentStats))
     {
         InvestmentStats = other.InvestmentStats;
         OnPropertyChanged(nameof(InvestmentStats));
     }
     if (!Perks.DeepEqualsList(other.Perks))
     {
         Perks = other.Perks;
         OnPropertyChanged(nameof(Perks));
     }
     if (LoreHash != other.LoreHash)
     {
         LoreHash = other.LoreHash;
         OnPropertyChanged(nameof(LoreHash));
     }
     if (SummaryItemHash != other.SummaryItemHash)
     {
         SummaryItemHash = other.SummaryItemHash;
         OnPropertyChanged(nameof(SummaryItemHash));
     }
     if (!Animations.DeepEqualsList(other.Animations))
     {
         Animations = other.Animations;
         OnPropertyChanged(nameof(Animations));
     }
     if (AllowActions != other.AllowActions)
     {
         AllowActions = other.AllowActions;
         OnPropertyChanged(nameof(AllowActions));
     }
     if (!Links.DeepEqualsList(other.Links))
     {
         Links = other.Links;
         OnPropertyChanged(nameof(Links));
     }
     if (DoesPostmasterPullHaveSideEffects != other.DoesPostmasterPullHaveSideEffects)
     {
         DoesPostmasterPullHaveSideEffects = other.DoesPostmasterPullHaveSideEffects;
         OnPropertyChanged(nameof(DoesPostmasterPullHaveSideEffects));
     }
     if (NonTransferrable != other.NonTransferrable)
     {
         NonTransferrable = other.NonTransferrable;
         OnPropertyChanged(nameof(NonTransferrable));
     }
     if (!ItemCategoryHashes.DeepEqualsListNaive(other.ItemCategoryHashes))
     {
         ItemCategoryHashes = other.ItemCategoryHashes;
         OnPropertyChanged(nameof(ItemCategoryHashes));
     }
     if (SpecialItemType != other.SpecialItemType)
     {
         SpecialItemType = other.SpecialItemType;
         OnPropertyChanged(nameof(SpecialItemType));
     }
     if (ItemType != other.ItemType)
     {
         ItemType = other.ItemType;
         OnPropertyChanged(nameof(ItemType));
     }
     if (ItemSubType != other.ItemSubType)
     {
         ItemSubType = other.ItemSubType;
         OnPropertyChanged(nameof(ItemSubType));
     }
     if (ClassType != other.ClassType)
     {
         ClassType = other.ClassType;
         OnPropertyChanged(nameof(ClassType));
     }
     if (BreakerType != other.BreakerType)
     {
         BreakerType = other.BreakerType;
         OnPropertyChanged(nameof(BreakerType));
     }
     if (BreakerTypeHash != other.BreakerTypeHash)
     {
         BreakerTypeHash = other.BreakerTypeHash;
         OnPropertyChanged(nameof(BreakerTypeHash));
     }
     if (Equippable != other.Equippable)
     {
         Equippable = other.Equippable;
         OnPropertyChanged(nameof(Equippable));
     }
     if (!DamageTypeHashes.DeepEqualsListNaive(other.DamageTypeHashes))
     {
         DamageTypeHashes = other.DamageTypeHashes;
         OnPropertyChanged(nameof(DamageTypeHashes));
     }
     if (!DamageTypes.DeepEqualsListNaive(other.DamageTypes))
     {
         DamageTypes = other.DamageTypes;
         OnPropertyChanged(nameof(DamageTypes));
     }
     if (DefaultDamageType != other.DefaultDamageType)
     {
         DefaultDamageType = other.DefaultDamageType;
         OnPropertyChanged(nameof(DefaultDamageType));
     }
     if (DefaultDamageTypeHash != other.DefaultDamageTypeHash)
     {
         DefaultDamageTypeHash = other.DefaultDamageTypeHash;
         OnPropertyChanged(nameof(DefaultDamageTypeHash));
     }
     if (SeasonHash != other.SeasonHash)
     {
         SeasonHash = other.SeasonHash;
         OnPropertyChanged(nameof(SeasonHash));
     }
     if (IsWrapper != other.IsWrapper)
     {
         IsWrapper = other.IsWrapper;
         OnPropertyChanged(nameof(IsWrapper));
     }
     if (!TraitIds.DeepEqualsListNaive(other.TraitIds))
     {
         TraitIds = other.TraitIds;
         OnPropertyChanged(nameof(TraitIds));
     }
     if (!TraitHashes.DeepEqualsListNaive(other.TraitHashes))
     {
         TraitHashes = other.TraitHashes;
         OnPropertyChanged(nameof(TraitHashes));
     }
     if (Hash != other.Hash)
     {
         Hash = other.Hash;
         OnPropertyChanged(nameof(Hash));
     }
     if (Index != other.Index)
     {
         Index = other.Index;
         OnPropertyChanged(nameof(Index));
     }
     if (Redacted != other.Redacted)
     {
         Redacted = other.Redacted;
         OnPropertyChanged(nameof(Redacted));
     }
 }
 public bool DeepEquals(DestinyInventoryItemDefinition?other)
 {
     return(other is not null &&
            (DisplayProperties is not null ? DisplayProperties.DeepEquals(other.DisplayProperties) : other.DisplayProperties is null) &&
            TooltipNotifications.DeepEqualsList(other.TooltipNotifications) &&
            CollectibleHash == other.CollectibleHash &&
            IconWatermark == other.IconWatermark &&
            IconWatermarkShelved == other.IconWatermarkShelved &&
            SecondaryIcon == other.SecondaryIcon &&
            SecondaryOverlay == other.SecondaryOverlay &&
            SecondarySpecial == other.SecondarySpecial &&
            (BackgroundColor is not null ? BackgroundColor.DeepEquals(other.BackgroundColor) : other.BackgroundColor is null) &&
            Screenshot == other.Screenshot &&
            ItemTypeDisplayName == other.ItemTypeDisplayName &&
            FlavorText == other.FlavorText &&
            UiItemDisplayStyle == other.UiItemDisplayStyle &&
            ItemTypeAndTierDisplayName == other.ItemTypeAndTierDisplayName &&
            DisplaySource == other.DisplaySource &&
            TooltipStyle == other.TooltipStyle &&
            (Action is not null ? Action.DeepEquals(other.Action) : other.Action is null) &&
            (Inventory is not null ? Inventory.DeepEquals(other.Inventory) : other.Inventory is null) &&
            (SetData is not null ? SetData.DeepEquals(other.SetData) : other.SetData is null) &&
            (Stats is not null ? Stats.DeepEquals(other.Stats) : other.Stats is null) &&
            EmblemObjectiveHash == other.EmblemObjectiveHash &&
            (EquippingBlock is not null ? EquippingBlock.DeepEquals(other.EquippingBlock) : other.EquippingBlock is null) &&
            (TranslationBlock is not null ? TranslationBlock.DeepEquals(other.TranslationBlock) : other.TranslationBlock is null) &&
            (Preview is not null ? Preview.DeepEquals(other.Preview) : other.Preview is null) &&
            (Quality is not null ? Quality.DeepEquals(other.Quality) : other.Quality is null) &&
            (Value is not null ? Value.DeepEquals(other.Value) : other.Value is null) &&
            (SourceData is not null ? SourceData.DeepEquals(other.SourceData) : other.SourceData is null) &&
            (Objectives is not null ? Objectives.DeepEquals(other.Objectives) : other.Objectives is null) &&
            (Metrics is not null ? Metrics.DeepEquals(other.Metrics) : other.Metrics is null) &&
            (Plug is not null ? Plug.DeepEquals(other.Plug) : other.Plug is null) &&
            (Gearset is not null ? Gearset.DeepEquals(other.Gearset) : other.Gearset is null) &&
            (Sack is not null ? Sack.DeepEquals(other.Sack) : other.Sack is null) &&
            (Sockets is not null ? Sockets.DeepEquals(other.Sockets) : other.Sockets is null) &&
            (Summary is not null ? Summary.DeepEquals(other.Summary) : other.Summary is null) &&
            (TalentGrid is not null ? TalentGrid.DeepEquals(other.TalentGrid) : other.TalentGrid is null) &&
            InvestmentStats.DeepEqualsList(other.InvestmentStats) &&
            Perks.DeepEqualsList(other.Perks) &&
            LoreHash == other.LoreHash &&
            SummaryItemHash == other.SummaryItemHash &&
            Animations.DeepEqualsList(other.Animations) &&
            AllowActions == other.AllowActions &&
            Links.DeepEqualsList(other.Links) &&
            DoesPostmasterPullHaveSideEffects == other.DoesPostmasterPullHaveSideEffects &&
            NonTransferrable == other.NonTransferrable &&
            ItemCategoryHashes.DeepEqualsListNaive(other.ItemCategoryHashes) &&
            SpecialItemType == other.SpecialItemType &&
            ItemType == other.ItemType &&
            ItemSubType == other.ItemSubType &&
            ClassType == other.ClassType &&
            BreakerType == other.BreakerType &&
            BreakerTypeHash == other.BreakerTypeHash &&
            Equippable == other.Equippable &&
            DamageTypeHashes.DeepEqualsListNaive(other.DamageTypeHashes) &&
            DamageTypes.DeepEqualsListNaive(other.DamageTypes) &&
            DefaultDamageType == other.DefaultDamageType &&
            DefaultDamageTypeHash == other.DefaultDamageTypeHash &&
            SeasonHash == other.SeasonHash &&
            IsWrapper == other.IsWrapper &&
            TraitIds.DeepEqualsListNaive(other.TraitIds) &&
            TraitHashes.DeepEqualsListNaive(other.TraitHashes) &&
            Hash == other.Hash &&
            Index == other.Index &&
            Redacted == other.Redacted);
 }