private IEnumerator ComprobarPareja() { if (_primeraRevelada.id == _segundaRevelada.id) { cartasSolucionadas++; _puntuacion++; subir.subirMonedas(_puntuacion); subir.subirExperiencia(0.05f); subirAtributo.subirDiversion(10); ParticleSystem carta1 = _primeraRevelada.gameObject.transform.Find("Particle System").gameObject.GetComponent <ParticleSystem>(); ParticleSystem carta2 = _segundaRevelada.gameObject.transform.Find("Particle System").gameObject.GetComponent <ParticleSystem>(); carta1.Play(); carta2.Play(); AudioSource audio = _primeraRevelada.gameObject.GetComponent <AudioSource>(); audio.Play(); if (cartasSolucionadas == 10) { Debug.Log("Terminado"); panelMensaje.SetActive(true); } } else { yield return(new WaitForSeconds(0.5f)); _primeraRevelada.Revelar(); _segundaRevelada.Revelar(); } _primeraRevelada = null; _segundaRevelada = null; }
//Cambia el atributo "comprado" del item correspondiente en la lista y lo guarda en el archivo JSON public void AdquirirItemPersonalizable(GameObject prefab) { CargaDeFichero(); Button botonComprar = prefab.transform.Find("btnComprar").GetComponent <Button>(); Button botonAplicar = prefab.transform.Find("btnAplicar").GetComponent <Button>(); GameObject fondoPrecio = prefab.transform.Find("FondoPrecio").gameObject; int precio = int.Parse(fondoPrecio.transform.Find("InputPrecio").GetComponent <TMP_Text>().text); GameObject fondoItem = prefab.transform.Find("FondoItem").gameObject; Image imagenArticulo = fondoItem.transform.Find("Item").GetComponent <Image>(); TMP_Text aplicar = prefab.transform.Find("Aplicar").GetComponent <TMP_Text>(); Personalizacion articuloPersonalizable = new Personalizacion(); articuloPersonalizable = listaPersonalizacion.listaPersonalizacion.Find(x => x.imagen == imagenArticulo.sprite.name); //Se comprueba que existe para que no haya NullReferenceException if (articuloPersonalizable != null && !articuloPersonalizable.Equals(null)) { articuloPersonalizable.comprado = true; botonComprar.interactable = false; botonComprar.gameObject.SetActive(false); fondoPrecio.gameObject.SetActive(false); botonAplicar.interactable = true; botonAplicar.gameObject.SetActive(true); aplicar.gameObject.SetActive(true); aplicar.text = "Aplicar"; aplicar.color = Color.white; GameObject managerCanvas = gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.Find("MANAGER CANVAS").gameObject; subir = managerCanvas.GetComponent <SubirNivelyMonedas>(); subir.subirMonedas(-precio); gestionTienda = managerCanvas.GetComponent <GestionTienda>(); //gestionTienda.comprobarDisponibilidadPersonalizacion(prefab.transform.parent.gameObject); EscribirEnFichero(); } }
public void ReclamarRecompensa(GameObject prefab) { CargaDeFichero(); Tarea tareaReclamada = new Tarea(); //Se comprueba qué ID tiene la tarea que estamos reclamando, para localizarla en la lista de objetos tarea en base a su atributo ID. string idTarea = prefab.transform.Find("IDTarea").gameObject.GetComponent <TMP_Text>().text; idTarea = idTarea.Substring(1, idTarea.Length - 1); tareaReclamada = listaTareas.tareas.Find(x => x.id == int.Parse(idTarea)); int recompensa = tareaReclamada.cantidad; float experiencia = recompensa * 0.001f; tareaReclamada.reclamada = true; Button botonReclamar = prefab.transform.Find("btnReclamar").gameObject.GetComponent <Button>(); botonReclamar.interactable = false; subir = gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.Find("MANAGER CANVAS").GetComponent <SubirNivelyMonedas>(); subir.subirExperiencia(experiencia); subir.subirMonedas(recompensa); prefab.GetComponent <Animator>().Play("EliminarTarea"); Destroy(prefab, 0.5f); contenedorTareas = prefab.transform.parent.gameObject; if (contenedorTareas.transform.childCount <= 4) { contenedorTareas.GetComponent <RectTransform>().pivot = new Vector2(0, 0.5f); } comprobarContenedorVacioJuego(contenedorTareas); EscribirEnFichero(); }
public void ComprarArticuloPersonalizado(GameObject prefab) { CargaDeFichero(); ArticuloEspecial articuloComprado = new ArticuloEspecial(); prefab.GetComponent <Image>().color = Color.cyan; //Se comprueba qué ID tiene la tarea que estamos reclamando, para localizarla en la lista de objetos tarea en base a su atributo ID. string idTarea = prefab.transform.Find("IDEspecial").gameObject.GetComponent <TMP_Text>().text; idTarea = idTarea.Substring(1, idTarea.Length - 1); TMP_Text comprado = prefab.transform.Find("ArticuloComprado").GetComponent <TMP_Text>(); comprado.text = "1"; articuloComprado = listaArticulos.articulos.Find(x => x.id == int.Parse(idTarea)); articuloComprado.comprado = true; prefab.transform.Find("Comprado").gameObject.SetActive(true); Button botonComprar = prefab.transform.Find("btnComprar").GetComponent <Button>(); botonComprar.interactable = false; GameObject fondoPrecio = prefab.transform.Find("FondoPrecio").gameObject; int inputPrecio = int.Parse(fondoPrecio.transform.Find("InputPrecio").gameObject.GetComponent <TMP_Text>().text); subir = prefab.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.Find("MANAGER CANVAS").GetComponent <SubirNivelyMonedas>(); subir.subirMonedas(-inputPrecio); EscribirEnFichero(); }
public void AnadirComidaInventario(GameObject prefab) { subir = gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.Find("MANAGER CANVAS").GetComponent <SubirNivelyMonedas>(); gestionTienda = gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.parent. gameObject.transform.Find("MANAGER CANVAS").GetComponent <GestionTienda>(); Comida comida = new Comida(); Comida comidaAux = new Comida(); string nombre = gameObject.transform.Find("FondoNombre") .gameObject.transform.Find("InputNombre") .gameObject.GetComponent <TMP_Text>().text.ToString(); string imagen = gameObject.transform.Find("FondoItem") .gameObject.transform.Find("Item") .gameObject.GetComponent <Image>().sprite.name; int cantidad = int.Parse(gameObject.transform.Find("FondoNumeroItems") .gameObject.transform.Find("NumeroItems") .gameObject.GetComponent <TMP_Text>().text); int precio = int.Parse(gameObject.transform.Find("FondoPrecio") .gameObject.transform.Find("InputPrecio") .gameObject.GetComponent <TMP_Text>().text); string subidaComida = gameObject.transform.Find("FondoPropiedad") .gameObject.transform.Find("InputPropiedad") .gameObject.GetComponent <TMP_Text>().text.ToString(); int subida = int.Parse(subidaComida.Substring(1, subidaComida.Length - 2)); Debug.Log(gameObject); int precioTotal = cantidad * precio; subir.subirMonedas(-precioTotal); gestionTienda.comprobarDisponibilidadComida(); //Busca en la lista el item con el mismo nombre, para que, si se añade cualquier cantidad, se vaya incrementando y //no se creen entradas nuevas en el fichero JSON comidaAux = listaComida.listaComida.Find(x => x.nombre == nombre); if (comidaAux != null) { comidaAux.cantidad += cantidad; EscribirEnFichero(); } else { comida.cantidad = cantidad; comida.imagen = imagen; comida.nombre = nombre; comida.subidaComida = subida; comida.precio = 0; comida.infinito = false; listaComida.listaComida.Add(comida); EscribirEnFichero(); } }