Ejemplo n.º 1
0
    public void TestMostrarCamiseta()
    {
        InicializarAvatarEditor();

        Texture tex = _diccionarioTexturas.GetTextura("camisetaAzul");

        _avatarEditor.MostrarArriba("camiseta", "camisetaAzul");

        //Comprobar que se han ocultado o mostrado las partes del cuerpo necesarias
        Assert.That(_avatarEditor.camisa.activeSelf, Is.False);
        Assert.That(_avatarEditor.jersey.activeSelf, Is.False);
        Assert.That(_avatarEditor.camiseta.activeSelf, Is.True);
        Assert.That(_avatarEditor.brazos.activeSelf, Is.True);
        Assert.That(_avatarEditor.cuerpo.activeSelf, Is.False);

        //Comprobar que la textura de la camiseta es la correcta
        Assert.That(_avatarEditor.camiseta.GetComponent <Renderer>().sharedMaterial.GetTexture("_MainTex"), Is.EqualTo(tex));
    }
Ejemplo n.º 2
0
    //Metodo que carga los items de la lista recibida en el panel recibido
    //Tambien pone la informacion correspondiente en el item
    private void CargarItems(List <Item> listaItems, Transform panel, string tipo)
    {
        Sprite icono;
        int    precio;

        //Crear un objeto en la UI por cada item y asignarle la informacion correspondiente
        for (int i = 0; i < listaItems.Count; i++)
        {
            Item       aux     = listaItems[i];
            GameObject newItem = itemPool.GetObject(); //Obtener item a partir de la pool de items
            newItem.transform.SetParent(panel, false); //Hacerlo hijo del panel de su categoria

            //Poner sprite
            icono = Resources.Load <Sprite>("IconosItems/" + aux.icono);
            newItem.transform.Find("Icono").GetComponent <Image>().sprite = icono;

            //Si aun esta bloqueado, mostrar su precio
            if (!aux.desbloqueado)
            {
                precio = aux.precio;
                newItem.transform.Find("Precio").gameObject.SetActive(true);
                newItem.transform.Find("Precio").GetComponentInChildren <Text>().text = precio.ToString();

                //Si esta bloqueado, al pulsarlo se mostrara el panel de info
                int id = i; //evitar closure problem de c#
                newItem.GetComponent <Button>().onClick.AddListener(() => itemsManager.ShowItemInfo(aux, id, tipo));
            }
            //Si esta desbloqueado, ocultar el precio
            else
            {
                newItem.transform.Find("Precio").gameObject.SetActive(false);

                string categoria = aux.categoria;
                string textura   = aux.textura;
                string mesh      = aux.mesh;

                //Al pulsarlo, se modificara el avatar
                //Añadir listener que llama al metodo correspondiente al tipo de prenda
                switch (tipo)
                {
                case "camisetas":
                    newItem.GetComponent <Button>().onClick.AddListener(() => avatarEditor.MostrarArriba(categoria, textura));
                    break;

                case "pantalones":
                    newItem.GetComponent <Button>().onClick.AddListener(() => avatarEditor.MostrarAbajo(categoria, textura));
                    break;

                case "zapatos":
                    newItem.GetComponent <Button>().onClick.AddListener(() => avatarEditor.MostrarZapatos(categoria, textura));
                    break;

                case "peinados":
                    newItem.GetComponent <Button>().onClick.AddListener(() => avatarEditor.MostrarPelo(mesh));
                    break;

                case "ojos":
                    //mesh = ojo base, textura = pupila
                    newItem.GetComponent <Button>().onClick.AddListener(() => avatarEditor.MostrarOjos(mesh, textura));
                    break;
                }
            }
        }
    }