public bool Equals(GameEvent other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(Assistants.OrderBy(a => a.Gamertag).SequenceEqual(other.Assistants.OrderBy(a => a.Gamertag)) && DeathDisposition == other.DeathDisposition && IsAssassination == other.IsAssassination && IsGroundPound == other.IsGroundPound && IsHeadshot == other.IsHeadshot && IsMelee == other.IsMelee && IsShoulderBash == other.IsShoulderBash && IsWeapon == other.IsWeapon && Equals(Killer, other.Killer) && KillerAgent == other.KillerAgent && KillerAttachmentIds.OrderBy(ka => ka).SequenceEqual(other.KillerAttachmentIds.OrderBy(ka => ka)) && KillerStockId == other.KillerStockId && Equals(KillerWorldLocation, other.KillerWorldLocation) && Equals(Victim, other.Victim) && VictimAgent == other.VictimAgent && VictimAttachmentIds.OrderBy(ka => ka).SequenceEqual(other.VictimAttachmentIds.OrderBy(ka => ka)) && VictimStockId == other.VictimStockId && Equals(VictimWorldLocation, other.VictimWorldLocation) && Equals(EventName, other.EventName) && string.Equals(TimeSinceStart, other.TimeSinceStart)); }