private void Start()
    {
        GameObject check = GameObject.FindGameObjectWithTag("Poop");

        if (check != null)
        {
            poop = check.GetComponent <PoopIncrement>();
        }

        frontPL = GameObject.FindGameObjectWithTag("Player").GetComponent <Personaje>().frontCollider;
        backPL  = GameObject.FindGameObjectWithTag("Player").GetComponent <Personaje>().backCollider;

        //BUSCA LA REFERENCIA AL MATERIAL DEL PISO Y SU POSICION EN EL MESH
        Vector2    pos1 = Vector2.zero, pos2 = Vector2.zero;
        Ray        rayo = new Ray(this.init.position, Vector3.down);
        RaycastHit hit;
        LayerMask  mask = LayerMask.NameToLayer("Piso");

        if (Physics.Raycast(rayo, out hit, mask))
        {
            pos1 = hit.textureCoord;
        }
        rayo = new Ray(this.final.position, Vector3.down);
        if (Physics.Raycast(rayo, out hit, mask))
        {
            pos2 = hit.textureCoord;
        }
        GetInfo(pos1, pos2);
    }
 private void Update()
 {
     if (Personaje.IsAlive && (frontPL.isPoop || backPL.isPoop))
     {
         poop = GameObject.FindGameObjectWithTag("Poop").GetComponent <PoopIncrement>();
     }
 }
Esempio n. 3
0
 private void OnTriggerEnter(Collider other)
 {
     //Comprobar si entra la bola y esta a su tamaño maximo
     if (other.gameObject.CompareTag("Poop") && CacaPorcentage.value >= 0.9f)
     {
         if (per == null)
         {
             per = GameObject.FindGameObjectWithTag("Player").GetComponent <Personaje>();
         }
         per.IfNoPoop();                                                                      //Funcion del jugador para resetear sus valores
         other.enabled = false;
         PoopIncrement poop = other.GetComponent <PoopIncrement>();                           // Busco la referencia aqui encaso que se destruya la original
         poop.CacaPorcentage.value = 0.0f;                                                    //El slider regresa a cero
         PoopIncrement.score      += 500.0f;                                                  //Da un bonus de puntuación por entregarla
         poop.screenPoints.text    = "SCORE: " + Mathf.Round(PoopIncrement.score).ToString(); //Se imprime en la pantalla
         StartCoroutine(Entrega(poop.transform));
         HomeUI_icon.startOver = true;                                                        //Dejar de escalar el icono de casa en UI
         AudioManager.GetInstance().PlayAudio(AUDIO_TYPE.POPO_ENTREGADA);
     }
 }
 //Aumentar puntuación
 private void OnTriggerEnter(Collider other)
 {
     //Destruir al ser tocadas por la bola
     if (other.gameObject.CompareTag("Poop"))
     {
         if (poop == null)
         {
             poop = other.GetComponent <PoopIncrement>();
         }
         else
         {
             if (poop.AddScore())
             {
                 ChangeColor(Color.white);
                 Invoke("EsperaryActivar", timeToReactivate);
                 //Desactivar trigger
                 gameObject.SetActive(false);
             }
         }
     }
 }