// 巡回
    void Patrol()
    {
        //Debug.Log("Patrol");

        visionCone.SetViewAngle(patrolViewAngle);
        visionCone.SetViewDistance(patrolViewDistance, true);

        // Nowhere to go.
        if (waypoints.Count == 0)
        {
            return;
        }

        // Make sure the waypoint isn't null.
        // Assert.AreNotEqual(null, waypoints[activeWaypoint]);
        if (waypoints[activeWaypoint] == null)
        {
            return;
        }

        Vector3 destination = waypoints[activeWaypoint].position;
        Vector3 currentPos  = transform.position;

        MoveTowards(destination, patrolVelocity);
        RotateTowards(destination);
    }
    // Start is called before the first frame update
    void Start()
    {
        viewDistanceVar = viewDistance;

        visionConeScript = Instantiate(visionConePrfb, visionConeGroup.transform).GetComponent <VisionCone>();
        visionConeScript.SetFov(fov);
        visionConeScript.SetViewDistance(viewDistanceVar);
    }
예제 #3
0
 public virtual void ChangeStats(float newDistance, float newFov, float newSpeed)
 {
     fovVar          = newFov;
     viewDistanceVar = newDistance;
     speed           = newSpeed;
     // Actualiza los valores del cono
     visionConeScript.SetFov(fovVar);
     visionConeScript.SetViewDistance(viewDistanceVar);
 }
예제 #4
0
    private void Awake()
    {
        player       = FindObjectOfType <BlinkScript>().gameObject;
        followPlayer = false;        // Empezar en modo "Passive"
        speed        = passiveSpeed; // Empezar a la velocidad de patrulla
        cadenceTimer = cadence;
        gun.rotation = Quaternion.identity;
        gfxAnimator  = GetComponentInChildren <Animator>();
        gfxAnimator.SetTrigger("Walk");


        // PATHFINDING
        seeker = GetComponent <Seeker>();
        rb     = GetComponent <Rigidbody2D>();

        fovVar          = fov;
        viewDistanceVar = viewDistance;

        // CONO VISION
        visionConeScript = Instantiate(visionConePrfb, visionConeGroup.transform).GetComponent <VisionCone>();
        visionConeScript.SetFov(fovVar);
        visionConeScript.SetViewDistance(viewDistanceVar);
    }