//------------------------------------------------------------------------------------------------------------------ /* * METODO QUE SE EJECUTA AL INICIO DE LA EJECUCIÓN PARA REALIZAR REFERENCIAS */ void Awake() { //Obtener referencias infoPersistente = GameObject.Find("InfoPersistente").GetComponent <InfoPersistente>(); refBD = GameObject.Find("ReferenciaBD").GetComponent <ReferenciaBaseDatos>(); //Resetear los nodos de juego de la base de datos infoPersistente.setJugando(true); infoPersistente.setPeticionBatalla("null"); infoPersistente.setRespuestaBatalla("null"); refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("batalla/peticion").SetValueAsync("null"); refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("batalla/respuesta").SetValueAsync("null"); //Inicializacion txtCuentaAtras.text = tiempoCuentaAtras.ToString("f0"); panelCuentaAtras.gameObject.SetActive(false); txtCuentaAtras.text = tiempoReaparecer.ToString("f0"); panelReaparecer.gameObject.SetActive(false); }
//------------------------------------------------------------------------------------------------------------------ /* * METODO QUE SE EJECUTA REPETIDAMENTE CADA FOTOGRAMA DE LA EJECUCION */ void Update() { /////////////////////////////////////////////// RECIBIR RESPUESTAS A PETICIONES ///////////////////////////////////////////////// if (solicitado) { if (tiempoAux > 0) { tiempoAux -= Time.deltaTime; } else { //Si ha finalizado el tiempo de vida de la solicitud sin respuesta //Ocultar ventana de espera ventanaEmergente.GetComponent <VentanaEspera>().ocultar(); //Marcar como fin de solicitud solicitado = false; infoPersistente.setEnBatalla(false); //reiniciar tiempo tiempoAux = tiempoEspera; //Mostrar mensaje info string texto = "Tiempo de espera agotado"; ventanaEmergente.GetComponent <VentanaInformacion>().mostrarInfo(texto, "Aceptar"); } } else if (buscando) { if (tiempoAux > 0) { tiempoAux -= Time.deltaTime; } else { //Si ha finalizado el tiempo de vida de la busqueda sin respuesta //Ocultar ventana de espera ventanaEmergente.GetComponent <VentanaEspera>().ocultar(); //Marcar como fin de solicitud buscando = false; infoPersistente.setEnBatalla(false); //Salir de la sala creada gestionPartidas.salirSala(); //reiniciar tiempo tiempoAux = tiempoEspera; //Mostrar mensaje info string texto = "No hay ningun jugador en este momento, intentelo mas tarde"; ventanaEmergente.GetComponent <VentanaInformacion>().mostrarInfo(texto, "Aceptar"); } } if (infoPersistente.getRespuestaBatalla().Equals("true")) { //Crear Sala de juego con el nombre de mi uid gestionPartidas.crearSalaAmigo(refBD.getUsuario().UserId); //Reinicializar la respuesta refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("batalla/respuesta").SetValueAsync("null"); //Establecer a nulo la respuesta para evitar que se ejecute mas de una vez infoPersistente.setRespuestaBatalla("null"); } else if (infoPersistente.getRespuestaBatalla().Equals("false")) { //Reinicializar la respuesta refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("batalla/respuesta").SetValueAsync("null"); ventanaEmergente.GetComponent <VentanaEspera>().ocultar(); //Mostrar mensaje info string texto = "El oponente ha rechazado la batalla"; ventanaEmergente.GetComponent <VentanaInformacion>().mostrarInfo(texto, "Aceptar"); //Marcar como fin de solicitud solicitado = false; infoPersistente.setEnBatalla(false); infoPersistente.setRespuestaBatalla("null"); } }