Example #1
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = BestCompletionTime.GetHashCode();
         hashCode = (hashCode * 397) ^ BestScore;
         hashCode = (hashCode * 397) ^ (BonusObjectivesCompleted?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (CriticalObjectivesCompleted?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (OptionalObjectivesCompleted?.GetHashCode() ?? 0);
         return(hashCode);
     }
 }
Example #2
0
        public bool Equals(CampaignLevelCompletion other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return(BestCompletionTime.Equals(other.BestCompletionTime) &&
                   BestScore == other.BestScore &&
                   BonusObjectivesCompleted.OrderBy(boc => boc).SequenceEqual(other.BonusObjectivesCompleted.OrderBy(boc => boc)) &&
                   CriticalObjectivesCompleted.OrderBy(coc => coc).SequenceEqual(other.CriticalObjectivesCompleted.OrderBy(coc => coc)) &&
                   OptionalObjectivesCompleted.OrderBy(ooc => ooc).SequenceEqual(other.OptionalObjectivesCompleted.OrderBy(ooc => ooc)));
        }