//
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl
{
///
/// Response for vehicle dictionary query
///
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "12.12.1.0")]
public partial class Dictionary_Vehicles_VehicleResponse : global::System.IEquatable, IDictionary_Vehicles_VehicleResponse
{
public Dictionary_Vehicles_VehicleResponse(global::System.Int64 tankId, global::System.String name, global::System.String description, global::System.Boolean isPremium, global::System.String typeId, global::System.String nationId, global::System.Int32 tier, global::System.String previewImage, global::System.String normalImage, global::System.Decimal priceCredit, global::System.Decimal priceGold, global::System.Collections.Generic.IReadOnlyList? nexTanksInTree)
{
TankId = tankId;
Name = name;
Description = description;
IsPremium = isPremium;
TypeId = typeId;
NationId = nationId;
Tier = tier;
PreviewImage = previewImage;
NormalImage = normalImage;
PriceCredit = priceCredit;
PriceGold = priceGold;
NexTanksInTree = nexTanksInTree;
}
///
/// VehicleId
///
public global::System.Int64 TankId { get; }
///
/// Vehicle name
///
public global::System.String Name { get; }
///
/// Vehicle description
///
public global::System.String Description { get; }
///
/// Is vehicle premium
///
public global::System.Boolean IsPremium { get; }
///
/// Vehicle type id
///
public global::System.String TypeId { get; }
///
/// Vehicle nationId
///
public global::System.String NationId { get; }
///
/// Vehicle tier
///
public global::System.Int32 Tier { get; }
///
/// Vehicle preview image
///
public global::System.String PreviewImage { get; }
///
/// Vehicle normal image
///
public global::System.String NormalImage { get; }
///
/// Vehicle price in credits
///
public global::System.Decimal PriceCredit { get; }
///
/// Vehicle price in gold
///
public global::System.Decimal PriceGold { get; }
///
/// Ids of nex tanks and their cost in XP
///
public global::System.Collections.Generic.IReadOnlyList? NexTanksInTree { get; }
public virtual global::System.Boolean Equals(Dictionary_Vehicles_VehicleResponse? other)
{
if (ReferenceEquals(null, other))
{
return false;
}
if (ReferenceEquals(this, other))
{
return true;
}
if (other.GetType() != GetType())
{
return false;
}
return (TankId == other.TankId) && Name.Equals(other.Name) && Description.Equals(other.Description) && IsPremium == other.IsPremium && TypeId.Equals(other.TypeId) && NationId.Equals(other.NationId) && Tier == other.Tier && PreviewImage.Equals(other.PreviewImage) && NormalImage.Equals(other.NormalImage) && PriceCredit == other.PriceCredit && PriceGold == other.PriceGold && global::StrawberryShake.Helper.ComparisonHelper.SequenceEqual(NexTanksInTree, other.NexTanksInTree);
}
public override global::System.Boolean Equals(global::System.Object? obj)
{
if (ReferenceEquals(null, obj))
{
return false;
}
if (ReferenceEquals(this, obj))
{
return true;
}
if (obj.GetType() != GetType())
{
return false;
}
return Equals((Dictionary_Vehicles_VehicleResponse)obj);
}
public override global::System.Int32 GetHashCode()
{
unchecked
{
int hash = 5;
hash ^= 397 * TankId.GetHashCode();
hash ^= 397 * Name.GetHashCode();
hash ^= 397 * Description.GetHashCode();
hash ^= 397 * IsPremium.GetHashCode();
hash ^= 397 * TypeId.GetHashCode();
hash ^= 397 * NationId.GetHashCode();
hash ^= 397 * Tier.GetHashCode();
hash ^= 397 * PreviewImage.GetHashCode();
hash ^= 397 * NormalImage.GetHashCode();
hash ^= 397 * PriceCredit.GetHashCode();
hash ^= 397 * PriceGold.GetHashCode();
if (NexTanksInTree != null)
{
foreach (var NexTanksInTree_elm in NexTanksInTree)
{
hash ^= 397 * NexTanksInTree_elm.GetHashCode();
}
}
return hash;
}
}
}
}