//==========================================================================================================// /// <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); } } }