Beispiel #1
0
    public void EliminarItem(int id, int cantidad, bool porUso)
    {
        for (int i = 0; i < inventarioo.Count; i++)
        {
            if (inventarioo[i].id == id)
            {
                if (!porUso)
                {
                    inventarioo[i] = new ObjetoInvId(inventarioo[i].id, inventarioo[i].cantidad - cantidad);

                    GameObject GO = Instantiate(data.baseDatos[id].Prefab, ItemSueltoRespawn.position, ItemSueltoRespawn.rotation);
                    GO.GetComponent <ItemSuelto>().ID       = id;
                    GO.GetComponent <ItemSuelto>().cantidad = cantidad;
                }
                else
                {
                    inventarioo[i] = new ObjetoInvId(inventarioo[i].id, inventarioo[i].cantidad - cantidad);
                }

                if (inventarioo[i].cantidad <= 0)
                {
                    inventarioo.Remove(inventarioo[i]);
                }
            }
            InventoryUpdate();
            //break;
        }
    }
Beispiel #2
0
    public void InventoryUpdate()
    {
        for (int i = 0; i < pool.Count; i++)
        {
            if (i < inventarioo.Count)
            {
                ObjetoInvId o = inventarioo[i];
                pool[i].ID = o.id;                                                      //Aqui le asigno la id del objeto a mi script llamada Item
                pool[i].GetComponent <Image>().sprite = data.baseDatos[o.id].icono;
                pool[i].GetComponent <RectTransform>().localPosition = Vector3.zero;
                pool[i].cantidad = o.cantidad;
                pool[i].Boton.onClick.RemoveAllListeners();
                pool[i].Boton.onClick.AddListener(() => gameObject.SendMessage(data.baseDatos[o.id].Void, SendMessageOptions.DontRequireReceiver));
                pool[i].gameObject.SetActive(true);
            }
            else
            {
                pool[i].gameObject.SetActive(false);
                pool[i]._descripcion.SetActive(false);
                pool[i].gameObject.transform.parent.GetComponent <Image>().fillCenter = false;
            }
        }
        if (inventarioo.Count > pool.Count)
        {
            for (int i = pool.Count; i < inventarioo.Count; i++)
            {
                Item it = Instantiate(item, Contenido.GetChild(0));         //Aqui el getchild(i) lo utilizo para crear el item dentro del slot
                pool.Add(it);

                if (Contenido.GetChild(0).childCount >= 2)
                {
                    for (int s = 0; s < Contenido.childCount; s++)
                    {
                        if (Contenido.GetChild(s).childCount == 0)
                        {
                            it.transform.SetParent(Contenido.GetChild(s));
                            break;
                        }
                    }
                }
                it.transform.position   = Vector3.zero;
                it.transform.localScale = Vector3.one;

                ObjetoInvId o = inventarioo[i];
                pool[i].ID = o.id;
                pool[i].GetComponent <RectTransform>().localPosition = Vector3.zero;
                pool[i].GetComponent <Image>().sprite = data.baseDatos[o.id].icono;
                pool[i].cantidad = o.cantidad;
                pool[i].Boton.onClick.RemoveAllListeners();
                pool[i].Boton.onClick.AddListener(() => gameObject.SendMessage(data.baseDatos[o.id].Void, SendMessageOptions.DontRequireReceiver));
                pool[i].gameObject.SetActive(true);
            }
        }
    }
Beispiel #3
0
    public void AgrregarItem(int id, int cantidad)
    {
        for (int i = 0; i < inventarioo.Count; i++)
        {
            if (inventarioo[i].id == id && data.baseDatos[id].acumulable)
            {
                inventarioo[i] = new ObjetoInvId(inventarioo[i].id, inventarioo[i].cantidad + cantidad);
                InventoryUpdate();
                return;
            }
        }

        if (!data.baseDatos[id].acumulable)
        {
            inventarioo.Add(new ObjetoInvId(id, 1));
        }
        else
        {
            inventarioo.Add(new ObjetoInvId(id, cantidad));
        }

        InventoryUpdate();
    }