예제 #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);
         }
     }
 }
예제 #2
0
 //==========================================================================================================//
 /// <summary>
 /// Cria os objetos que estão sendo rastreados utilizando das informações contidas nos quatro primeiros
 /// elementos da lista que recebeu os dados dos objetos rastreados pelo arduino. As informações dos dados do
 /// bloco rastreado são armazendas em estruturas de quatro elementos, por isso escolhemos os quatro primeiros
 /// elementos da lista para a criação do bloco rastreado dentro da Unity. Os quatro elementos são: ID, assinatura
 /// posição X e posição Y. Após adicioná-los removemos os quatro primeiros elementos da lista. Assim, o próximo
 /// grupo de elementos a serem analisados representam outro bloco rastreado.
 /// </summary>
 /// <returns></returns>
 //==========================================================================================================//
 void ArmazenaBolasRastreadas()
 {
     if (dados != null)
     {
         while (dados.Count >= 6)
         {
             if (instance.CSV_GetMetodoReconhecimento() == "Pixy")
             {
                 if (instance.ToInt(dados[1]) == instance.CSV_GetAssinaturaAmarela())
                 {
                     Pixy.CriarIdentificadores(baseIdentificadorAmarelo, instance.ToInt(dados[0]), instance.ToInt(dados[1]), instance.ToInt(dados[2]), instance.ToInt(dados[3]), instance.ToInt(dados[4]), instance.ToInt(dados[4]));
                 }
                 else if (instance.ToInt(dados[1]) == instance.CSV_GetAssinaturaVerde())
                 {
                     Pixy.CriarIdentificadores(baseIdentificadorVerde, instance.ToInt(dados[0]), instance.ToInt(dados[1]), instance.ToInt(dados[2]), instance.ToInt(dados[3]), instance.ToInt(dados[4]), instance.ToInt(dados[4]));
                 }
             }
             dados.Clear();
         }
     }
 }