public override int GetHashCode() { unchecked { var hashCode = (StartingSide != null ? StartingSide.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (EndingSide != null ? EndingSide.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (int)TorchLocation; return(hashCode); } }