示例#1
0
    private void NewRandomPath()
    {
        curves =
            Bezier.GenerateRandomPath(
                origin.position, destination.position,
                segments,
                rndPathHorRange, rndPathVertRange,
                rndCtrlPointsHorRange, rndCtrlPointsVertRange,
                parallelStartAndExit
                );

        path = Bezier.GetPointsInPath(curves, (byte)resolutionPerSegment);
    }
    private void Update()
    {
        if (origin != null && destination != null)
        {
            if (lastOrigin != origin.position ||
                lastDestination != destination.position ||
                lastSegments != segments ||
                lastResolutionPerSegment != resolutionPerSegment ||
                lastRndPathHorRange != rndPathHorRange ||
                lastRndPathVertRange != rndPathVertRange ||
                lastRndCtrlPointsHorRange != rndCtrlPointsHorRange ||
                lastRndCtrlPointsVertRange != rndCtrlPointsVertRange ||
                lastParallelStartAndExit != parallelStartAndExit ||
                lastToggleToChange != toggleToChange)
            {
                lastOrigin                 = origin.position;
                lastDestination            = destination.position;
                lastSegments               = segments;
                lastResolutionPerSegment   = resolutionPerSegment;
                lastRndPathHorRange        = rndPathHorRange;
                lastRndPathVertRange       = rndPathVertRange;
                lastRndCtrlPointsHorRange  = rndCtrlPointsHorRange;
                lastRndCtrlPointsVertRange = rndCtrlPointsVertRange;
                lastParallelStartAndExit   = parallelStartAndExit;
                lastToggleToChange         = toggleToChange;

                curves =
                    Bezier.GenerateRandomPath(
                        origin.position, destination.position,
                        segments,
                        rndPathHorRange, rndPathVertRange,
                        rndCtrlPointsHorRange, rndCtrlPointsVertRange,
                        parallelStartAndExit
                        );

                path = Bezier.GetPointsInPath(curves, (byte)resolutionPerSegment);
            }
        }
        else
        {
            path = null;
        }
    }