// ReSharper disable NonReadonlyMemberInGetHashCode public override int GetHashCode() { unchecked { var hashCode = x; hashCode = (hashCode * 397) ^ y; hashCode = (hashCode * 397) ^ direction; hashCode = (hashCode * 397) ^ weight; hashCode = (hashCode * 397) ^ comboCount; hashCode = (hashCode * 397) ^ (gridAfterMove != null ? gridAfterMove.GetHashCode() : 0); hashCode = (hashCode * 397) ^ depthLevel; hashCode = (hashCode * 397) ^ (parent != null ? parent.GetHashCode() : 0); return(hashCode); } }