Example #1
0
    public void EliminarArticulo(GameObject prefab)
    {
        CargaDeFichero();

        contenedorArticuloEspecial = prefab.transform.parent.gameObject;
        contenedorArticuloEspecial.GetComponent <RectTransform>().pivot = new Vector2(0.5f, 1);

        if (prefab.GetComponent <Image>().color == Color.cyan)
        {
            Destroy(prefab, 0.5f);
        }
        else
        {
            ArticuloEspecial articuloEliminado = new ArticuloEspecial();
            //Se comprueba qué ID tiene el articulo que estamos eliminando, para localizarla en la lista de objetos articulo en base a su atributo ID.
            string idArticulo = prefab.transform.Find("IDEspecial").gameObject.GetComponent <TMP_Text>().text;
            idArticulo        = idArticulo.Substring(1, idArticulo.Length - 1);
            articuloEliminado = listaArticulos.articulos.Find(x => x.id == int.Parse(idArticulo));

            listaArticulos.articulos.Remove(articuloEliminado);

            Destroy(prefab, 0.5f);
            EscribirEnFichero();
        }

        if (contenedorArticuloEspecial.transform.childCount <= 1)
        {
            contenedorArticuloEspecial.
            gameObject.transform.parent.
            gameObject.transform.parent.
            gameObject.transform.parent.
            Find("PanelMensaje").gameObject.SetActive(true);
        }
    }
Example #2
0
    public void GuardarArticulo(GameObject prefab)
    {
        CargaDeFichero();

        //Si el Articulo es nuevo (por el fondo verde)
        if (prefab.GetComponent <Image>().color == Color.cyan)
        {
            //Si no hay ningun Articulo en listaArticulos
            if (listaArticulos.articulos.Count() == 0)
            {
                ArticuloEspecial articulo = new ArticuloEspecial();

                if (cogerDatosYResetPrefab(articulo, prefab))
                {
                    prefab.transform.Find("IDEspecial").GetComponent <TMP_Text>().text = "#1"; articulo.id = 1;
                    listaArticulos.articulos.Add(articulo);
                    EscribirEnFichero();
                }
            }

            //Si ya hay Articulos en listaArticulos
            else
            {
                ArticuloEspecial ultimoArticulo = new ArticuloEspecial();
                ultimoArticulo = listaArticulos.articulos[listaArticulos.articulos.Count() - 1];
                ArticuloEspecial articulo = new ArticuloEspecial();

                // Para no asignar un ID repetido, se recorre la lista tantas veces como ID tiene el último elemento (Ej: ID=12).
                // hasta que se encuentra el primer ID en la lista que no existe.
                // Si existe el ID 1, 2, 3 y 5, se asignará el 4 al nuevo Articulo y parará el bucle.
                // Si existiesen 1, 2, 3, 4, 5... 12, el nuevo Articulo tendría el ID 13.
                for (int i = 1; i <= ultimoArticulo.id + 1; i++)
                {
                    if (!listaArticulos.articulos.Exists(x => x.id == i))
                    {
                        articulo.id = i;
                        break;
                    }
                }

                if (cogerDatosYResetPrefab(articulo, prefab))
                {
                    prefab.transform.Find("IDEspecial").GetComponent <TMP_Text>().text = "#" + articulo.id.ToString();
                    listaArticulos.articulos.Add(articulo);
                    EscribirEnFichero();
                }
            }
        }
    }
Example #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();
    }
Example #4
0
    public bool cogerDatosYResetPrefab(ArticuloEspecial articulo, GameObject prefab)
    {
        bool sePuedeGuardar = false;

        TMP_InputField inputArticulo = prefab.transform.Find("InputArticulo").GetComponent <TMP_InputField>();
        TMP_InputField inputPrecio   = prefab.transform.Find("InputPrecio").GetComponent <TMP_InputField>();
        TMP_InputField inputNivel    = prefab.transform.Find("InputNivel").GetComponent <TMP_InputField>();
        Button         botonGuardar  = prefab.transform.Find("btnGuardar").GetComponent <Button>();

        if (inputArticulo.text == "" || inputPrecio.text == "" || inputNivel.text == "")
        {
            if (inputArticulo.text == "")
            {
                inputArticulo.image.color = colorFondoInputError;
                if (!(inputPrecio.text == ""))
                {
                    inputPrecio.image.color = Color.white;
                }
                if (!(inputNivel.text == ""))
                {
                    inputNivel.image.color = Color.white;
                }
            }
            if (inputPrecio.text == "")
            {
                inputPrecio.image.color = colorFondoInputError;
                if (!(inputArticulo.text == ""))
                {
                    inputArticulo.image.color = Color.white;
                }
                if (!(inputNivel.text == ""))
                {
                    inputNivel.image.color = Color.white;
                }
            }
            if (inputNivel.text == "")
            {
                inputNivel.image.color = colorFondoInputError;
                if (!(inputArticulo.text == ""))
                {
                    inputArticulo.image.color = Color.white;
                }
                if (!(inputPrecio.text == ""))
                {
                    inputPrecio.image.color = Color.white;
                }
            }

            sePuedeGuardar = false;
        }

        else
        {
            inputArticulo.image.color           = Color.white;
            inputPrecio.image.color             = Color.white;
            inputNivel.image.color              = Color.white;
            articulo.comprado                   = false;
            articulo.precio                     = int.Parse(inputPrecio.text);
            articulo.nivel                      = int.Parse(inputNivel.text);
            articulo.nombre                     = inputArticulo.text;
            prefab.GetComponent <Image>().color = colorFondoArticulo;
            inputArticulo.interactable          = false;
            inputPrecio.interactable            = false;
            inputNivel.interactable             = false;
            botonGuardar.interactable           = false;

            sePuedeGuardar = true;
        }

        return(sePuedeGuardar);
    }