public override int GetHashCode() { if (thingInt != null) { return(thingInt.GetHashCode()); } if (cellInt.IsValid) { return(Gen.HashCombine(cellInt.GetHashCode(), mapInt)); } if (worldObjectInt != null) { return(worldObjectInt.GetHashCode()); } if (tileInt >= 0) { return(tileInt); } return(-1); }