Beispiel #1
0
    public override void Execute()
    {
        pyc.transform = transform;

        velocity = Vector3.zero;
        Separation();
        Alignment();
        Cohesion();


        pyc.SetPitchYawLookingAt(transform.position + velocity);
        pitch = pyc.Pitch;
        yaw   = pyc.Yaw;

        UpdateAfterExecuted?.Invoke();
    }
Beispiel #2
0
    public override void Execute()
    {
        if (target == null)
        {
            TargetNotFound?.Invoke();
            return;
        }
        pitchYawController.transform = transform;

        CheckArrival();

        var d = Vector3.Distance(transform.position, target.position);

        if (d > distance)
        {
            time += Time.deltaTime;
            if (time > timeout)
            {
                Debug.Log("goto timeout");

                OnTimeout?.Invoke();
                time = 0;
            }
        }
        else
        {
            time = 0;
        }

        pitchYawController.SetPitchYawLookingAt(target.position + offset);
        pitch = pitchYawController.Pitch;
        yaw   = pitchYawController.Yaw;


        UpdateAfterExecuted?.Invoke();
    }