public override int GetHashCode()
        {
            int hash = 1;

            if (pokemonData_ != null)
            {
                hash ^= PokemonData.GetHashCode();
            }
            if (item_ != null)
            {
                hash ^= Item.GetHashCode();
            }
            if (pokedexEntry_ != null)
            {
                hash ^= PokedexEntry.GetHashCode();
            }
            if (playerStats_ != null)
            {
                hash ^= PlayerStats.GetHashCode();
            }
            if (playerCurrency_ != null)
            {
                hash ^= PlayerCurrency.GetHashCode();
            }
            if (playerCamera_ != null)
            {
                hash ^= PlayerCamera.GetHashCode();
            }
            if (inventoryUpgrades_ != null)
            {
                hash ^= InventoryUpgrades.GetHashCode();
            }
            if (appliedItems_ != null)
            {
                hash ^= AppliedItems.GetHashCode();
            }
            if (eggIncubators_ != null)
            {
                hash ^= EggIncubators.GetHashCode();
            }
            if (pokemonFamily_ != null)
            {
                hash ^= PokemonFamily.GetHashCode();
            }
            return(hash);
        }
 public void MergeFrom(InventoryItemData other)
 {
     if (other == null)
     {
         return;
     }
     if (other.pokemonData_ != null)
     {
         if (pokemonData_ == null)
         {
             pokemonData_ = new global::PokemonGoDesktop.API.Proto.PokemonData();
         }
         PokemonData.MergeFrom(other.PokemonData);
     }
     if (other.item_ != null)
     {
         if (item_ == null)
         {
             item_ = new global::PokemonGoDesktop.API.Proto.ItemData();
         }
         Item.MergeFrom(other.Item);
     }
     if (other.pokedexEntry_ != null)
     {
         if (pokedexEntry_ == null)
         {
             pokedexEntry_ = new global::PokemonGoDesktop.API.Proto.PokedexEntry();
         }
         PokedexEntry.MergeFrom(other.PokedexEntry);
     }
     if (other.playerStats_ != null)
     {
         if (playerStats_ == null)
         {
             playerStats_ = new global::PokemonGoDesktop.API.Proto.PlayerStats();
         }
         PlayerStats.MergeFrom(other.PlayerStats);
     }
     if (other.playerCurrency_ != null)
     {
         if (playerCurrency_ == null)
         {
             playerCurrency_ = new global::PokemonGoDesktop.API.Proto.PlayerCurrency();
         }
         PlayerCurrency.MergeFrom(other.PlayerCurrency);
     }
     if (other.playerCamera_ != null)
     {
         if (playerCamera_ == null)
         {
             playerCamera_ = new global::PokemonGoDesktop.API.Proto.PlayerCamera();
         }
         PlayerCamera.MergeFrom(other.PlayerCamera);
     }
     if (other.inventoryUpgrades_ != null)
     {
         if (inventoryUpgrades_ == null)
         {
             inventoryUpgrades_ = new global::PokemonGoDesktop.API.Proto.InventoryUpgrades();
         }
         InventoryUpgrades.MergeFrom(other.InventoryUpgrades);
     }
     if (other.appliedItems_ != null)
     {
         if (appliedItems_ == null)
         {
             appliedItems_ = new global::PokemonGoDesktop.API.Proto.AppliedItems();
         }
         AppliedItems.MergeFrom(other.AppliedItems);
     }
     if (other.eggIncubators_ != null)
     {
         if (eggIncubators_ == null)
         {
             eggIncubators_ = new global::PokemonGoDesktop.API.Proto.EggIncubators();
         }
         EggIncubators.MergeFrom(other.EggIncubators);
     }
     if (other.pokemonFamily_ != null)
     {
         if (pokemonFamily_ == null)
         {
             pokemonFamily_ = new global::PokemonGoDesktop.API.Proto.PokemonFamily();
         }
         PokemonFamily.MergeFrom(other.PokemonFamily);
     }
 }