public bool Equals(DestinyArtifactDefinition input) { if (input == null) { return(false); } return (( DisplayProperties == input.DisplayProperties || (DisplayProperties != null && DisplayProperties.Equals(input.DisplayProperties)) ) && ( TranslationBlock == input.TranslationBlock || (TranslationBlock != null && TranslationBlock.Equals(input.TranslationBlock)) ) && ( Tiers == input.Tiers || (Tiers != null && Tiers.SequenceEqual(input.Tiers)) ) && ( Hash == input.Hash || (Hash.Equals(input.Hash)) ) && ( Index == input.Index || (Index.Equals(input.Index)) ) && ( Redacted == input.Redacted || (Redacted != null && Redacted.Equals(input.Redacted)) )); }
public bool DeepEquals(DestinyArtifactDefinition?other) { return(other is not null && (DisplayProperties is not null ? DisplayProperties.DeepEquals(other.DisplayProperties) : other.DisplayProperties is null) && (TranslationBlock is not null ? TranslationBlock.DeepEquals(other.TranslationBlock) : other.TranslationBlock is null) && Tiers.DeepEqualsList(other.Tiers) && Hash == other.Hash && Index == other.Index && Redacted == other.Redacted); }
public bool DeepEquals(DestinyArtifactDefinition other) { return(other != null && DisplayProperties.DeepEquals(other.DisplayProperties) && Tiers.DeepEqualsReadOnlyCollections(other.Tiers) && TranslationBlock.DeepEquals(other.TranslationBlock) && Blacklisted == other.Blacklisted && Hash == other.Hash && Index == other.Index && Redacted == other.Redacted); }
public void Update(DestinyArtifactDefinition?other) { if (other is null) { return; } if (!DisplayProperties.DeepEquals(other.DisplayProperties)) { DisplayProperties.Update(other.DisplayProperties); OnPropertyChanged(nameof(DisplayProperties)); } if (!TranslationBlock.DeepEquals(other.TranslationBlock)) { TranslationBlock.Update(other.TranslationBlock); OnPropertyChanged(nameof(TranslationBlock)); } if (!Tiers.DeepEqualsList(other.Tiers)) { Tiers = other.Tiers; OnPropertyChanged(nameof(Tiers)); } 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 != 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 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); }