public TransitionState InsertIntoCell(ObjCell cell, int num_insertion_attempts) { if (cell == null) { return(TransitionState.Collided); } var transitionState = TransitionState.OK; for (var i = 0; i < num_insertion_attempts; i++) { transitionState = cell.FindCollisions(this); switch (transitionState) { case TransitionState.OK: case TransitionState.Collided: return(transitionState); case TransitionState.Slid: CollisionInfo.ContactPlaneValid = false; CollisionInfo.ContactPlaneIsWater = false; break; } } return(transitionState); }