/// <summary> /// Check and remove out-of-view segment /// </summary> public void CheckOutOfViewSegment() { if (m_CurrentSegments.Count == 0) { return; } //Just have to check the first segment TrackSegment segmentToCheck = m_CurrentSegments[0]; //Return to pool when out of view if (mainCamera.transform.position.x - mainCamera.GetHalfCameraWidth() - segmentToCheck.endPoint.position.x > m_ScreenOffsetError) { segmentToCheck.RemoveSelf(); m_CurrentSegments.Remove(segmentToCheck); } }