public class TestPath : MonoBehaviour
{
public DOTweenPath dOTweenPath;
// Start is called before the first frame update
void Start()
{
Vector3[] list = dOTweenPath.wps.ToArray(); ;
transform.DOPath(list, 1).OnWaypointChange(OnWaypointChange);
}
// Update is called once per frame
void Update()
{
}
public void OnWaypointChange(int index) {
Debug.Log("index==> " + index);
}
}
===========
DOTweenPath 公开属性如下
public float delay;
public float duration = 1f;
public Ease easeType = (Ease)6;
public AnimationCurve easeCurve = (AnimationCurve)(object)new AnimationCurve((Keyframe[])(object)new Keyframe[2]
{
new Keyframe(0f, 0f),
new Keyframe(1f, 1f)
});
public int loops = 1;
public LoopType loopType;
public OrientType orientType;
public Transform lookAtTransform;
public Vector3 lookAtPosition;
public float lookAhead = 0.01f;
public bool autoPlay = true;
public bool autoKill = true;
public bool relative;
public bool isLocal;
public bool isClosedPath;
public int pathResolution = 10;
public PathMode pathMode = (PathMode)1;
public AxisConstraint lockRotation;
public bool assignForwardAndUp;
public Vector3 forwardDirection = Vector3.get_forward();
public Vector3 upDirection = Vector3.get_up();
public List<Vector3> wps = new List<Vector3>();
public List<Vector3> fullWps = new List<Vector3>();
public Path path;
public DOTweenInspectorMode inspectorMode;
public PathType pathType;
public HandlesType handlesType;
public bool livePreview = true;
public HandlesDrawMode handlesDrawMode;
public float perspectiveHandleSize = 0.5f;
public bool showIndexes = true;
public Color pathColor = new Color(1f, 1f, 1f, 0.5f);
public Vector3 lastSrcPosition;
public bool wpsDropdown;