Exemple #1
0
    public void FixedUpdate()
    {
        Vector3 oldPos = transform.position;

        distanceTraveled  += speed * Time.fixedDeltaTime;
        transform.position = path.InterpolateDistanceWorldSpace(distanceTraveled);

        Vector3 posDiff = transform.position - oldPos;

        transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(posDiff.y, posDiff.x) / Mathf.PI * 180);


        if (distanceTraveled > path.Length)
        {
            onPathFinished?.Invoke(this);
            //Destroy(gameObject);    //For Debugging
            //gameObject.SetActive(false);

            EnemyPool.instance.Despawn(gameObject);
        }
    }