namespace Tiger.Game.Achievements; public class AchievementLevel { public virtual Achievement Achievement { get; set; } = null!; public virtual int Level { get; set; } public virtual int RewardAmount { get; set; } public virtual int RewardType { get; set; } public virtual int Points { get; set; } public virtual int ProgressNeeded { get; set; } public override bool Equals(object? obj) { if (obj is not AchievementLevel other) return false; return Achievement.Id == other.Achievement.Id && Level == other.Level; } public override int GetHashCode() { unchecked { var hash = 17; hash = hash * 23 + Achievement.Id.GetHashCode(); hash = hash * 23 + Level.GetHashCode(); return hash; } } }