Пример #1
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);
            }
        }
    }
 //Cuando se suelta el objeto se va lejos para que no se vea
 public void OnEndDrag(PointerEventData eventData)
 {
     arrastrando = null;
     InventarioObjPlaceHolder.current.transform.position = new Vector3(100000, 100000, 100000);
 }
 //cuando es arrastrado
 public void OnBeginDrag(PointerEventData eventData)
 {
     arrastrando = this;
     InventarioObjPlaceHolder.current.sprite.sprite = sprite.sprite;
 }