qstbak/LLib/LLib.Shop.Model/ItemForSale.cs
2026-08-17 20:27:25 +10:00

76 lines
1.7 KiB
C#

using System;
namespace LLib.Shop.Model;
public sealed class ItemForSale : IEquatable<ItemForSale>
{
public required int Position { get; init; }
public required uint ItemId { get; init; }
public required string? ItemName { get; init; }
public required uint Price { get; init; }
public required uint CurrencyItemId { get; init; }
public required uint OwnedItems { get; init; }
public bool Equals(ItemForSale? other)
{
int num = ((other != null) ? (-673406129) : (-673406143));
while (true)
{
int num2 = num;
int num3 = -673406136;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 8:
num = ((Price != other.Price) ? (-673406130) : (-673406133));
break;
case 9:
return false;
case 2:
return OwnedItems == other.OwnedItems;
case 0:
num = -673406143;
break;
case 6:
return false;
case 7:
num = ((this != other) ? (-673406135) : (-673406132));
break;
case 3:
num = ((CurrencyItemId != other.CurrencyItemId) ? (-673406130) : (-673406134));
break;
case 4:
return true;
case 5:
num = ((ItemId != other.ItemId) ? (-673406130) : (-673406144));
break;
case 1:
num = ((Position != other.Position) ? (-673406130) : (-673406131));
break;
}
}
}
bool IEquatable<ItemForSale>.Equals(ItemForSale? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
public override bool Equals(object? obj)
{
return Equals(obj as ItemForSale);
}
public override int GetHashCode()
{
return HashCode.Combine(Position, ItemId, Price, CurrencyItemId, OwnedItems);
}
}