Beispiel #1
0
    //Cambiar posiciones de objetos en inventario
    public void ChangePosition(int i1, int i2)
    {
        ObjInventarioId i = inventario [i1];

        inventario [i1] = inventario [i2];
        inventario [i2] = i;
        ActInventario();
    }
Beispiel #2
0
 //Agrega algo al inventario
 public void AddSometoInventory(int id, int cant)
 {
     for (int i = 0; i < inventario.Count; i++)
     {
         if (inventario[i].id == id)
         {
             inventario [i] = new ObjInventarioId(inventario [i].id, inventario [i].cant + cant);
             ActInventario();
             return;
         }
     }
     inventario.Add(new ObjInventarioId(id, cant));
     ActInventario();
 }
Beispiel #3
0
    //actualizar inventario
    public void ActInventario()
    {
        print("actualizado");
        for (int i = 0; i < pool.Count; i++)
        {
            if (i < inventario.Count)
            {
                ObjInventarioId o = inventario [i];
                pool [i].sprite.sprite = bd.BD [o.id].sprite;
                pool [i].cant.text     = o.cant.ToString();
                pool [i].id            = i;

                pool [i].button.onClick.RemoveAllListeners();
                pool [i].button.onClick.AddListener(() => gameObject.SendMessage(bd.BD [o.id].funcion, SendMessageOptions.DontRequireReceiver));

                pool [i].gameObject.SetActive(true);
            }

            else
            {
                pool [i].gameObject.SetActive(false);
            }
        }


        if (inventario.Count > pool.Count)
        {
            for (int i = pool.Count; i < inventario.Count; i++)
            {
                InventarioInterface oi = Instantiate(prefab, inventarioUI);
                pool.Add(oi);
                oi.transform.position   = Vector3.zero;
                oi.transform.localScale = Vector3.one;

                ObjInventarioId o = inventario [i];
                pool [i].sprite.sprite = bd.BD [o.id].sprite;
                pool [i].cant.text     = o.cant.ToString();
                pool [i].id            = i;
                pool [i].admin         = this;

                pool [i].button.onClick.RemoveAllListeners();
                pool [i].button.onClick.AddListener(() => gameObject.SendMessage(bd.BD [o.id].funcion, SendMessageOptions.DontRequireReceiver));

                pool [i].gameObject.SetActive(true);
            }
        }
    }
Beispiel #4
0
 //Elimina algo del inventario pero esta funcion no la implementé.
 public void DeleteSomeToinventory(int id, int cant)
 {
     for (int i = 0; i < inventario.Count; i++)
     {
         if (inventario[i].id == id)
         {
             inventario [i] = new ObjInventarioId(inventario[i].id, inventario[i].cant - cant);
             if (inventario [i].cant <= 0)
             {
                 inventario.Remove(inventario [i]);
             }
             ActInventario();
             return;
         }
     }
     Debug.Log("WTF?!");
 }