public void SetSpline(BezierSpline spline, SimpleSplineParameters parameters)
    {
        AlignToNewSpline(spline);

        m_speedType    = parameters.m_speedType;
        m_walkSpeed    = parameters.m_walkSpeed;
        m_rotationType = parameters.m_rotationType;
        m_rotationAxis = parameters.m_rotationAxis;
        m_lookTarget   = parameters.m_lookTarget;
        m_angleOffset  = parameters.m_offsetAngle;
        m_autoWalk     = parameters.m_autoWalk;
        m_autoReset    = parameters.m_autoReset;
        m_destroyAtEnd = parameters.m_destroyAtEnd;

        ResetSpline();
    }
    private void ShuffleSpline()
    {
        SimpleSplineParameters parameters = new SimpleSplineParameters();

        parameters.m_speedType    = m_speedType;
        parameters.m_walkSpeed    = m_walkSpeed;
        parameters.m_rotationType = m_RotationType;
        parameters.m_rotationAxis = m_rotationAxis;
        parameters.m_offsetAngle  = m_offsetAngle;
        parameters.m_lookTarget   = m_LookAtTarget;
        parameters.m_autoWalk     = m_autoWalk;
        parameters.m_autoReset    = m_autoReset;
        parameters.m_destroyAtEnd = m_autoKill;

        int splineID = Random.Range(0, m_Splines.Count);

        m_Walker.SetSpline(m_Splines[splineID], parameters);
    }