namespace BlueLaminate.EFCore.Entities; public class Skin { public int Id { get; set; } public int WeaponId { get; set; } public Weapon Weapon { get; set; } = null!; public string Name { get; set; } = null!; public string Rarity { get; set; } = null!; public string? Description { get; set; } public string? ImageUrl { get; set; } public decimal FloatMin { get; set; } public decimal FloatMax { get; set; } // Computed in the database: float_min = 0.0 AND float_max = 1.0. // A skin with a capped float range behaves differently in tradeup calculations. public bool TrueFloat { get; private set; } public ICollection Conditions { get; set; } = new List(); public ICollection Instances { get; set; } = new List(); public ICollection PriceHistories { get; set; } = new List(); }