예제 #1
0
 //==========================================================================================================//
 /// <summary>
 /// A função é chamada quando há colisão entre objetos.
 /// A função verifica a tag do objeto com o qual está havendo colisão. Dependendo do objeto, é
 /// aplicada a direção inversa ao eixo relacionado a essa colisão. Quando a colisão acontece com
 /// um GameObject com a tag "Vertical" a direção X é invertida, quando a colisão acontece com um
 /// GameObject com a tag "Horizontal" a direção de Y é invertida, e quando a colisão acontece com
 /// outra Alvo ambas as direções são invertidas.
 /// </summary>
 /// <param name="outro"></param>
 //==========================================================================================================//
 void OnCollisionEnter2D(Collision2D outro)
 {
     if (outro.gameObject.tag == "Vertical")
     {
         dirX *= -1;
     }
     else if (outro.gameObject.tag == "Horizontal")
     {
         dirY *= -1;
     }
     else if (outro.gameObject.tag == "Forma")
     {
         dirX *= -1;
         dirY *= -1;
     }
     else if (outro.gameObject.tag == "Identificador")
     {
         if (instance.GetQuantidadeDistracoes() > 0)
         {
             this.Destroi();
         }
         outro.gameObject.transform.position = new Vector3(2000, 2000, 1);
         if (outro.gameObject.GetComponent <Identificador>().GetAssinatura() == instance.CSV_GetAssinaturaAmarela())
         {
             instance.AddPontosAmarelos(-1);
         }
         else if (outro.gameObject.GetComponent <Identificador>().GetAssinatura() == instance.CSV_GetAssinaturaVerde())
         {
             instance.AddPontosVerdes(-1);
         }
     }
 }