示例#1
0
            public bool IsControllerInsideChunk(ControllerStickBase controller, PointsOnSplineExtension points)
            {
                if (SamePosition())
                {
                    return(true);
                }

                //current data
                SplineBase.PositionUnits unitPointsOnSpline = points.PositionUnits;
                SplineBase.PositionUnits unitController     = controller.PositionUnits;
                float currentPosition = controller.PathPosition;



                //3 points with same units (units of the chunks points, default by Distance)
                currentPosition = controller.SplineBase.ConvertPathUnit(currentPosition, unitController, unitPointsOnSpline);
                float a = PositionA(points);
                float b = PositionB(points);

                //return true if we are inside a chunk
                if (b < a)
                {
                    return(currentPosition <= b || currentPosition >= a);
                }
                else
                {
                    return(currentPosition >= a && currentPosition <= b);
                }
            }
示例#2
0
 public float PositionB(PointsOnSplineExtension points)
 {
     return(points == null ? 0 : points.GetWayPoint(B).PathPosition);
 }