private void OnCollisionEnter2D(Collision2D collision) //Define comportamento ao jogador colidir com não-inimigos { if (collision.gameObject.CompareTag("Coletavel")) // Objetos coletáveis para o iventário { Item danoObjeto = collision.gameObject.GetComponent <Consumable>().item; if (danoObjeto != null) { bool deveDesaparecer = false; //print("Acertou: " + danoObjeto.nomeObjeto); switch (danoObjeto.tipoItem) { case Item.TipoItem.CHAVE: deveDesaparecer = inventario.AddItem(danoObjeto); break; case Item.TipoItem.MUNICAO: for (int i = 0; i < danoObjeto.quantidade; i++) { deveDesaparecer = inventario.AddItem(danoObjeto); } break; case Item.TipoItem.POÇÃO: deveDesaparecer = AjustarPontosDano(danoObjeto.quantidade); break; default: break; } if (deveDesaparecer) { collision.gameObject.SetActive(false); } } } // Verificação de colisão com Porta e se o Player possui chaves (Lucas Ferraz Nicolau) else if (collision.gameObject.CompareTag("Porta")) { Porta porta = collision.gameObject.GetComponent <Porta>(); if (porta.tipoPorta == Porta.TipoPorta.CHAVE) { if (inventario.RemoveItem("CHAVE")) { porta.AbrirPorta(); } } } else if (collision.gameObject.CompareTag("TeleporteBoss")) // Faz acontecer o teleporte na área necessária { Destino = GameObject.Find("TeleportDestino"); transform.position = Destino.transform.position; } }