Exemple #1
0
 // Update is called once per frame
 void Update()
 {
     // if a treat goes offscreen, return it to the pool
     if (transform.position.y <= -5f)
     {
         treatManager.ReturnTreat(this.gameObject);
         // A treat has been destroyed, so spawn a new one at least two screen's height away from this treat
         Vector2    newTreatPos = new Vector2(Random.Range(-2f, 2f), Random.Range(transform.position.y + 8f, transform.position.y + 14f));
         GameObject newTreat    = treatManager.GetTreat(newTreatPos);
     }
 }
Exemple #2
0
    // Checks if there are treats in the player's treat-eating radius
    public void TreatCheck()
    {
        LayerMask mask = LayerMask.GetMask("Treat");

        // Check a circle around the player and get all treat colliders overlapping the circle
        Collider2D[] collidersInTreatRadius = Physics2D.OverlapCircleAll(transform.position, treatRadius, mask);
        foreach (Collider2D collider in collidersInTreatRadius)
        {
            treatManager.ReturnTreat(collider.gameObject);
            // A treat has been destroyed, so spawn a new one at least two screen's height away from the character
            Vector2    newTreatPos = new Vector2(Random.Range(-2f, 2f), Random.Range(transform.position.y + 7f, transform.position.y + 14f));
            GameObject newTreat    = treatManager.GetTreat(newTreatPos);
            gameManager.AddTime(10);
            treatsEaten++;
        }
    }