public override int GetHashCode() { unchecked { var hashCode = AllSkullsOn.GetHashCode(); hashCode = (hashCode * 397) ^ FastestCompletionTime.GetHashCode(); hashCode = (hashCode * 397) ^ HighestScore; hashCode = (hashCode * 397) ^ (Skulls?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ TotalTimesCompleted; return(hashCode); } }
public bool Equals(DifficultyStat other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(AllSkullsOn == other.AllSkullsOn && FastestCompletionTime.Equals(other.FastestCompletionTime) && HighestScore == other.HighestScore && Skulls.OrderBy(s => s).SequenceEqual(other.Skulls.OrderBy(s => s)) && TotalTimesCompleted == other.TotalTimesCompleted); }