public bool DeepEquals(DestinyItemComponent?other) { return(other is not null && ItemHash == other.ItemHash && ItemInstanceId == other.ItemInstanceId && Quantity == other.Quantity && BindStatus == other.BindStatus && Location == other.Location && BucketHash == other.BucketHash && TransferStatus == other.TransferStatus && Lockable == other.Lockable && State == other.State && OverrideStyleItemHash == other.OverrideStyleItemHash && ExpirationDate == other.ExpirationDate && IsWrapper == other.IsWrapper && TooltipNotificationIndexes.DeepEqualsListNaive(other.TooltipNotificationIndexes) && MetricHash == other.MetricHash && (MetricObjective is not null ? MetricObjective.DeepEquals(other.MetricObjective) : other.MetricObjective is null) && VersionNumber == other.VersionNumber && ItemValueVisibility.DeepEqualsListNaive(other.ItemValueVisibility)); }
public void Update(DestinyItemComponent?other) { if (other is null) { return; } if (ItemHash != other.ItemHash) { ItemHash = other.ItemHash; OnPropertyChanged(nameof(ItemHash)); } if (ItemInstanceId != other.ItemInstanceId) { ItemInstanceId = other.ItemInstanceId; OnPropertyChanged(nameof(ItemInstanceId)); } if (Quantity != other.Quantity) { Quantity = other.Quantity; OnPropertyChanged(nameof(Quantity)); } if (BindStatus != other.BindStatus) { BindStatus = other.BindStatus; OnPropertyChanged(nameof(BindStatus)); } if (Location != other.Location) { Location = other.Location; OnPropertyChanged(nameof(Location)); } if (BucketHash != other.BucketHash) { BucketHash = other.BucketHash; OnPropertyChanged(nameof(BucketHash)); } if (TransferStatus != other.TransferStatus) { TransferStatus = other.TransferStatus; OnPropertyChanged(nameof(TransferStatus)); } if (Lockable != other.Lockable) { Lockable = other.Lockable; OnPropertyChanged(nameof(Lockable)); } if (State != other.State) { State = other.State; OnPropertyChanged(nameof(State)); } if (OverrideStyleItemHash != other.OverrideStyleItemHash) { OverrideStyleItemHash = other.OverrideStyleItemHash; OnPropertyChanged(nameof(OverrideStyleItemHash)); } if (ExpirationDate != other.ExpirationDate) { ExpirationDate = other.ExpirationDate; OnPropertyChanged(nameof(ExpirationDate)); } if (IsWrapper != other.IsWrapper) { IsWrapper = other.IsWrapper; OnPropertyChanged(nameof(IsWrapper)); } if (!TooltipNotificationIndexes.DeepEqualsListNaive(other.TooltipNotificationIndexes)) { TooltipNotificationIndexes = other.TooltipNotificationIndexes; OnPropertyChanged(nameof(TooltipNotificationIndexes)); } if (MetricHash != other.MetricHash) { MetricHash = other.MetricHash; OnPropertyChanged(nameof(MetricHash)); } if (!MetricObjective.DeepEquals(other.MetricObjective)) { MetricObjective.Update(other.MetricObjective); OnPropertyChanged(nameof(MetricObjective)); } if (VersionNumber != other.VersionNumber) { VersionNumber = other.VersionNumber; OnPropertyChanged(nameof(VersionNumber)); } if (!ItemValueVisibility.DeepEqualsListNaive(other.ItemValueVisibility)) { ItemValueVisibility = other.ItemValueVisibility; OnPropertyChanged(nameof(ItemValueVisibility)); } }