Ejemplo n.º 1
0
    //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();
        }
    }
Ejemplo n.º 2
0
    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();
    }
Ejemplo n.º 3
0
    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();
    }
Ejemplo n.º 4
0
    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();
        }
    }