public bool DeepEquals(DestinyCharacterResponse?other)
 {
     return(other is not null &&
            (Inventory is not null ? Inventory.DeepEquals(other.Inventory) : other.Inventory is null) &&
            (Character is not null ? Character.DeepEquals(other.Character) : other.Character is null) &&
            (Progressions is not null ? Progressions.DeepEquals(other.Progressions) : other.Progressions is null) &&
            (RenderData is not null ? RenderData.DeepEquals(other.RenderData) : other.RenderData is null) &&
            (Activities is not null ? Activities.DeepEquals(other.Activities) : other.Activities is null) &&
            (Equipment is not null ? Equipment.DeepEquals(other.Equipment) : other.Equipment is null) &&
            (Kiosks is not null ? Kiosks.DeepEquals(other.Kiosks) : other.Kiosks is null) &&
            (PlugSets is not null ? PlugSets.DeepEquals(other.PlugSets) : other.PlugSets is null) &&
            (PresentationNodes is not null ? PresentationNodes.DeepEquals(other.PresentationNodes) : other.PresentationNodes is null) &&
            (Records is not null ? Records.DeepEquals(other.Records) : other.Records is null) &&
            (Collectibles is not null ? Collectibles.DeepEquals(other.Collectibles) : other.Collectibles is null) &&
            (ItemComponents is not null ? ItemComponents.DeepEquals(other.ItemComponents) : other.ItemComponents is null) &&
            (UninstancedItemComponents is not null ? UninstancedItemComponents.DeepEquals(other.UninstancedItemComponents) : other.UninstancedItemComponents is null) &&
            (CurrencyLookups is not null ? CurrencyLookups.DeepEquals(other.CurrencyLookups) : other.CurrencyLookups is null));
 }
 public void Update(DestinyCharacterResponse?other)
 {
     if (other is null)
     {
         return;
     }
     if (!Inventory.DeepEquals(other.Inventory))
     {
         Inventory.Update(other.Inventory);
         OnPropertyChanged(nameof(Inventory));
     }
     if (!Character.DeepEquals(other.Character))
     {
         Character.Update(other.Character);
         OnPropertyChanged(nameof(Character));
     }
     if (!Progressions.DeepEquals(other.Progressions))
     {
         Progressions.Update(other.Progressions);
         OnPropertyChanged(nameof(Progressions));
     }
     if (!RenderData.DeepEquals(other.RenderData))
     {
         RenderData.Update(other.RenderData);
         OnPropertyChanged(nameof(RenderData));
     }
     if (!Activities.DeepEquals(other.Activities))
     {
         Activities.Update(other.Activities);
         OnPropertyChanged(nameof(Activities));
     }
     if (!Equipment.DeepEquals(other.Equipment))
     {
         Equipment.Update(other.Equipment);
         OnPropertyChanged(nameof(Equipment));
     }
     if (!Kiosks.DeepEquals(other.Kiosks))
     {
         Kiosks.Update(other.Kiosks);
         OnPropertyChanged(nameof(Kiosks));
     }
     if (!PlugSets.DeepEquals(other.PlugSets))
     {
         PlugSets.Update(other.PlugSets);
         OnPropertyChanged(nameof(PlugSets));
     }
     if (!PresentationNodes.DeepEquals(other.PresentationNodes))
     {
         PresentationNodes.Update(other.PresentationNodes);
         OnPropertyChanged(nameof(PresentationNodes));
     }
     if (!Records.DeepEquals(other.Records))
     {
         Records.Update(other.Records);
         OnPropertyChanged(nameof(Records));
     }
     if (!Collectibles.DeepEquals(other.Collectibles))
     {
         Collectibles.Update(other.Collectibles);
         OnPropertyChanged(nameof(Collectibles));
     }
     if (!ItemComponents.DeepEquals(other.ItemComponents))
     {
         ItemComponents.Update(other.ItemComponents);
         OnPropertyChanged(nameof(ItemComponents));
     }
     if (!UninstancedItemComponents.DeepEquals(other.UninstancedItemComponents))
     {
         UninstancedItemComponents.Update(other.UninstancedItemComponents);
         OnPropertyChanged(nameof(UninstancedItemComponents));
     }
     if (!CurrencyLookups.DeepEquals(other.CurrencyLookups))
     {
         CurrencyLookups.Update(other.CurrencyLookups);
         OnPropertyChanged(nameof(CurrencyLookups));
     }
 }