//Al terminar la partida, se muestra el pop-up con los puntos totales conseguidos public void FinJuego() { gameOver = true; StopMusic(); var PopUpJuego = Instantiate(Resources.Load("Prefabs/PopUpJuego_Puntos") as GameObject, canvas); var PPPanel = PopUpJuego.transform.Find("PanelPopUp"); PPPanel.transform.Find("TituloPopUp").GetComponent <Text>().text = "¡Fin del juego!"; //Info del popup PPPanel.transform.Find("TotalPopUp").GetComponent <Text>().text = puntos.ToString(); //Record int recordActual = PlayerPrefs.GetInt("RecordNova", 0); if (puntos > recordActual) { PlayerPrefs.SetInt("RecordNova", puntos); PPPanel.transform.Find("RecordPopUp").GetComponent <Text>().text = "¡Nuevo récord!"; //Al superar el record, comprobar si tambien se ha alcanzado el logro //Guardar nuevo numero de puntos PlayerPrefs.SetFloat("PuntosNova", puntos); //Comprobar si se ha completado el logro nova (id = 7) LogrosManager.ComprobarLogroCompletado(7); } else { PPPanel.transform.Find("RecordPopUp").GetComponent <Text>().text = "Record: " + recordActual; } }
//Metodo para comprar un juego private void DesbloquearJuego() { audioSource.PlayOneShot(comprarClip); //Restar monedas int monedasActuales = PlayerPrefs.GetInt("Monedas"); PlayerPrefs.SetInt("Monedas", monedasActuales - precioJuego); //Guardar juego como desbloqueado PlayerPrefs.SetInt(nombreJuego + "Desbloqueado", 1); //Desactivar boton desbloquear y precio transform.Find("Btn_Desbloquear").gameObject.SetActive(false); transform.Find("Precio").gameObject.SetActive(false); //Activar boton jugar, desactivado anteriormente transform.Find("Btn_Jugar").gameObject.SetActive(true); //LOGRO //Incrementar el numero de juegos desbloqueados float nJuegos = PlayerPrefs.GetFloat("JuegosConseguidos"); PlayerPrefs.SetFloat("JuegosConseguidos", nJuegos + 1); //Comprobar si se ha completado el logro de objetos (id=2) LogrosManager.ComprobarLogroCompletado(3); }
//Metodo para comprobar ha pasado un solo dia desde la ultima vez que se abrio la app, // para el logro de dias seguidos public static void ComprobarDiasSeguidos(DateTime hoy) { //Informacion para obtener la fecha en el formato de España CultureInfo CI = new CultureInfo("es-ES"); //Español CultureInfo.CurrentCulture = CI; //Recuperar ultimo dia guardado (por defecto, si no hay valor guardado, es la fecha actual) DateTime ultimoDia = Convert.ToDateTime(PlayerPrefs.GetString("UltimoDia", hoy.ToString())); TimeSpan diferencia = hoy.Subtract(ultimoDia); //Calcular la diferencia entre el ultimo dia guardado y el actual //Debug.Log("Hoy: " + hoy + ", ultimo: " + ultimoDia + ", diferencia: " + diferencia.Days); //Si hay 1 dia entero de diferencia, o si hay menos de 24h de diferencia pero los dias son distintos // es que se ha abierto la app en dias seguidos if (diferencia.Days == 1 || (diferencia.Days < 1 && hoy.Day != ultimoDia.Day)) { PlayerPrefs.SetFloat("DiasSeguidos", PlayerPrefs.GetFloat("DiasSeguidos", 1) + 1); //Comprobar si se ha cumplido el logro de dias seguidos (id = 0) LogrosManager.ComprobarLogroCompletado(0); } //Si han pasado mas de 24h / 1 dia, se pierde la racha de dias seguidos else if (diferencia.Days > 1) { //Reiniciar numero de dias seguidos PlayerPrefs.SetFloat("DiasSeguidos", 1); } //Guardar la fecha actual PlayerPrefs.SetString("UltimoDia", hoy.ToString()); }
//Metodo para comprar un item si se tienen las monedas suficientes public void DesbloquearItem(string tipo, int id) { int precio = listas[tipo][id].precio; int monedas = PlayerPrefs.GetInt("Monedas"); //Comprobar que se tienen monedas suficientes if (precio <= monedas) { listas[tipo][id].desbloqueado = true; PlayerPrefs.SetInt("Monedas", monedas - precio); //Restar monedas gastadas //Actualizar monedas en pantalla DataManager.instance.ActualizarMonedas(); //Guardar los cambios en el JSON SaveItemsData(tipo); //Ocultar el pop-up de info item infoItem.SetActive(false); //Refrescar la lista de items en pantalla ItemsList.instance.ReloadList(tipo); //Incrementar el numero de objetos desbloqueados float nObjetos = PlayerPrefs.GetFloat("ObjetosConseguidos"); PlayerPrefs.SetFloat("ObjetosConseguidos", nObjetos + 1); //Comprobar si se ha completado el logro de objetos (id=2) LogrosManager.ComprobarLogroCompletado(2); } }
//Marcar la tarea como completada public void CompleteTask() { //Eliminarla de la lista DeleteTask(); //Sumar 5 monedas por tarea completada int monedasActuales = PlayerPrefs.GetInt("Monedas"); PlayerPrefs.SetInt("Monedas", monedasActuales + 1); //Aumentar el numero de tareas completadas float tareasCompletadas = PlayerPrefs.GetFloat("TareasCompletadas"); PlayerPrefs.SetFloat("TareasCompletadas", tareasCompletadas + 1); //Recuperar de la bd tareas almacenadas hoy EstadisticasDB estadisticasDB = new EstadisticasDB(); string fechaActual = DateTime.Today.Date.ToShortDateString(); int tareasGuardadas = 0; System.Data.IDataReader reader = estadisticasDB.BuscarTareasPorFecha(fechaActual); while (reader.Read()) { tareasGuardadas = reader.GetInt32(0); } //Sumar minutos y guardarlos tareasGuardadas++; estadisticasDB.GuardarTareasPorFecha(fechaActual, tareasGuardadas); estadisticasDB.close(); //Comprobar logro (id = 4) LogrosManager.ComprobarLogroCompletado(4); }
// Use this for initialization void Start() { monedas.text = Tempo_UltimaEscena.GetMonedas().ToString(); categoria = "estudio"; estadisticasDB = new EstadisticasDB(); fechaActual = DateTime.Today.Date.ToShortDateString(); //Reproducir sonido al terminar la cuenta atras audioSource.PlayOneShot(finTempo); //Antes de cargar esta escena, en el metodo EndCDT de CDAux, se han sumado los ultimos minutos // al numero total. Al iniciar esta escena, hay que comprobar si se ha cumplido el logro de tiempo //Se comprueba al cargar esta escena y no en la anterior para poder mostrar el pop up //Comprobar el logro de horas seguidas LogrosManager.ComprobarLogroCompletado(1); }
//Al terminar el juego, el FinJuegoSystem llama a este metodo para mostrar por pantalla // un pop-up con toda la informacion de la partida public void FinJuego() { /*NativeArray<Entity> allEntities = entityManager.GetAllEntities(); * entityManager.DestroyEntity(allEntities); * allEntities.Dispose();*/ //Detener scroll fondo bootstrap_NV.fondo.GetComponent <ScrollFondo>().enabled = false; var PopUpJuego = Instantiate(Resources.Load("Prefabs/PopUpJuego") as GameObject, canvas); var PPPanel = PopUpJuego.transform.Find("PanelPopUp"); PPPanel.transform.Find("TituloPopUp").GetComponent <Text>().text = "¡Fin del juego!"; //Info del popup PPPanel.transform.Find("MonedasPopUp").GetComponent <Text>().text = bootstrap_NV.n_monedas.ToString(); PPPanel.transform.Find("TiempoPopUp").GetComponent <Text>().text = bootstrap_NV.n_puntos.ToString(); int puntosTotales = (int)bootstrap_NV.n_puntos * 2 + bootstrap_NV.n_monedas * 5; PPPanel.transform.Find("PuntosPopUp").GetComponent <Text>().text = "Total: " + puntosTotales; //Record int recordActual = PlayerPrefs.GetInt("RecordNaves", 0); if (puntosTotales > recordActual) { PlayerPrefs.SetInt("RecordNaves", puntosTotales); PPPanel.transform.Find("RecordPopUp").GetComponent <Text>().text = "¡Nuevo récord!"; //Al superar el record, comprobar si tambien se ha alcanzado el logro //Guardar nuevo numero de puntos PlayerPrefs.SetFloat("PuntosSlinger", puntosTotales); //Comprobar si se ha completado el logro slinger (id = 6) LogrosManager.ComprobarLogroCompletado(6); } else { PPPanel.transform.Find("RecordPopUp").GetComponent <Text>().text = "Record: " + recordActual; } //Sumar las monedas obtenidas int monedasActuales = PlayerPrefs.GetInt("Monedas"); PlayerPrefs.SetInt("Monedas", monedasActuales + bootstrap_NV.n_monedas); }
//Al terminar el juego, el FinJuegoSystem llama a este metodo para mostrar por pantalla // un pop-up con toda la informacion de la partida public void FinJuego() { var PopUpJuego = Instantiate(Resources.Load("Prefabs/PopUpJuego") as GameObject, canvas); var PPPanel = PopUpJuego.transform.Find("PanelPopUp"); PPPanel.transform.Find("TituloPopUp").GetComponent <Text>().text = "¡Fin del juego!"; //Info del popup PPPanel.transform.Find("MonedasPopUp").GetComponent <Text>().text = bootstrap.n_monedas.ToString(); PPPanel.transform.Find("TiempoPopUp").GetComponent <Text>().text = ObtenerTiempoTotal(); int puntosTotales = (int)bootstrap.tiempoTotal * 5 + bootstrap.n_monedas * 10; PPPanel.transform.Find("PuntosPopUp").GetComponent <Text>().text = "Puntos: " + puntosTotales; //Comprobar si se ha superado el record int recordActual = PlayerPrefs.GetInt("RecordSushi", 0); if (puntosTotales > recordActual) { PlayerPrefs.SetInt("RecordSushi", puntosTotales); PPPanel.transform.Find("RecordPopUp").GetComponent <Text>().text = "¡Nuevo récord!"; //Al superar el record, comprobar si tambien se ha alcanzado el logro //Guardar nuevo numero de puntos PlayerPrefs.SetFloat("PuntosKaitenzushi", puntosTotales); //Comprobar si se ha completado el logro kaitenzushi (id = 5) LogrosManager.ComprobarLogroCompletado(5); } else { PPPanel.transform.Find("RecordPopUp").GetComponent <Text>().text = "Record: " + recordActual; } //Sumar las monedas obtenidas int monedasActuales = PlayerPrefs.GetInt("Monedas"); PlayerPrefs.SetInt("Monedas", monedasActuales + bootstrap.n_monedas); }