//Espera el click a uno de los botones del inventario para sustituir public void ClickSustituto() { if (estado == Estado.Desbloqueado) { if (im.modoSustitucion) { CleanSlot(); //Asignamos el nuevo objeto objeto = im.objeto; nombre = im.objeto.NombreColeccionable; im.objeto.isTaken = true; imagenObjeto = im.objeto.imagenRepresentacion; //Desactivamos el objeto im.objeto.gameObject.SetActive(false); im.modoSustitucion = false; im.AbreYCierraInventario(); } else if (im.modoDarObjeto) { if (DialogueManager.instance.currentNPC.nombrePersonaje == "Negro") { if (objeto != null) { Text textos = GetComponentInChildren <Text> (); if (isBocata()) { im.UnlockSlot(); } textos.text = "Vacio"; objeto.ObjetoUsado(); objeto.ActualizaObjeto(); objeto = null; im.AbreYCierraInventario(); //Cierra DialogueManager.instance.HUD.tagDarObjeto = null; DialogueManager.instance.AbreCierraDialogueCanvas(); //Abre DialogueManager.instance.frases = new Queue <string> (DialogueManager.instance.currentNPC.finMision); DialogueManager.instance.MuestraFrases(); DialogueManager.instance.currentNPC.indiceMision--; DialogueManager.instance.currentNPC.TerminarMision(); DialogueManager.instance.currentNPC.isAcepted = true; } else { im.AbreYCierraInventario(); DialogueManager.instance.AbreCierraDialogueCanvas(); DialogueManager.instance.FinConversacion(); } } else if (objeto != null && nombre == im.tagDarObjeto) { //Le damos el objeto objeto.ObjetoUsado(); Text textos = GetComponentInChildren <Text> (); textos.text = "Vacio"; objeto = null; //Por precaucion if (DialogueManager.instance.currentNPC.nombrePersonaje != "Negro") { DialogueManager.instance.currentNPC.pasos.Dequeue(); //Actualizamos cola if (DialogueManager.instance.currentNPC.pasos.ToArray() [0] == null) //Si no hay mas pasos { DialogueManager.instance.frases = new Queue <string> (DialogueManager.instance.currentNPC.finMision); im.AbreYCierraInventario(); //Cierra DialogueManager.instance.HUD.tagDarObjeto = null; DialogueManager.instance.AbreCierraDialogueCanvas(); //Abre DialogueManager.instance.MuestraFrases(); DialogueManager.instance.currentNPC.isComplete = true; DialogueManager.instance.currentNPC.TerminarMision(); } else { MissionManager.instance.ActualizaPasos((Mission)DialogueManager.instance.currentNPC); im.AbreYCierraInventario(); DialogueManager.instance.AbreCierraDialogueCanvas(); DialogueManager.instance.FinConversacion(); } } } else { im.AbreYCierraInventario(); MessageManager.instance.ShowMessage("Pulsa " + GameManager.instance.botonInteractuar.ToString() + " para interactuar."); } im.modoDarObjeto = false; } else { CleanSlot(); //Cerramos las ventanas im.mensajeSustitucion.gameObject.SetActive(false); im.inventory.gameObject.SetActive(false); GameManager.instance.ventanaAbierta = false; } //Lo actualizamos visualmente UpdateRender(); } }