public List <Vector3> GetMainPoints(bool pAddDebugLine) { List <Vector3> points = new List <Vector3>(); points.Add(ballTop); if (pAddDebugLine) { points.AddRange(CUtils.GetPointLine(ballTop, Vector3.UnitZ)); } if (pAddDebugLine) { points.AddRange(CUtils.GetPointLine(furthestPoint2D, -Vector3.UnitZ)); } if (ballBot != null) { points.Add((Vector3)ballBot); if (pAddDebugLine) { points.AddRange(CUtils.GetPointLine((Vector3)ballBot, -Vector3.UnitZ)); } } if (IsValidMainPoint(furthestPointPlusX)) { points.Add(furthestPointPlusX); if (pAddDebugLine) { points.AddRange(CUtils.GetPointLine(furthestPointPlusX, Vector3.UnitX)); } } if (IsValidMainPoint(furthestPointMinusX)) { points.Add(furthestPointMinusX); if (pAddDebugLine) { points.AddRange(CUtils.GetPointLine(furthestPointMinusX, -Vector3.UnitX)); } } if (IsValidMainPoint(furthestPointPlusY)) { points.Add(furthestPointPlusY); if (pAddDebugLine) { points.AddRange(CUtils.GetPointLine(furthestPointPlusY, Vector3.UnitY)); } } if (IsValidMainPoint(furthestPointMinusY)) { points.Add(furthestPointMinusY); if (pAddDebugLine) { points.AddRange(CUtils.GetPointLine(furthestPointMinusY, -Vector3.UnitY)); } } return(points); }