コード例 #1
0
 public void agregarAlInventario(int id, int tipo, int cantidad)
 {
     for (int i = 0; i < inventario.Count; i++)
     {
         if (inventario[i].id == id)
         {
             inventario[i] = new ObjectoEnBodega(inventario[i].id, inventario[i].tipo, inventario[i].cantidad + cantidad);
             ActualizarInventario();
             return;
         }
     }
     inventario.Add(new ObjectoEnBodega(id, tipo, cantidad));
     ActualizarInventario();
 }
コード例 #2
0
 public void eliminarDelInventario(int id, int cantidad)
 {
     for (int i = 0; i < inventario.Count; i++)
     {
         if (inventario[i].id == id)
         {
             inventario[i] = new ObjectoEnBodega(inventario[i].id, inventario[i].tipo, inventario[i].cantidad - cantidad);
             if (inventario[i].cantidad <= 0)
             {
                 inventario.Remove(inventario[i]);
             }
             ActualizarInventario();
             return;
         }
     }
 }
コード例 #3
0
    public void ActualizarInventario()
    {
        for (int i = 0; i < pool.Count; i++)
        {
            if (i < inventario.Count)
            {
                ObjectoEnBodega o = inventario[i];
                if (o.tipo == 1)
                {
                    pool[i].sprite.sprite       = item.baseDatosAlimentos[o.id].sprite;
                    pool[i].cantidad.text       = o.cantidad.ToString();
                    pool[i].cantidadAporta.text = item.baseDatosAlimentos[o.id].aporta.ToString();
                    pool[i].boton.onClick.RemoveAllListeners();
                    pool[i].boton.onClick.AddListener(() => comer(o.id));
                    //pool[i].boton.onClick.AddListener(()=> gameObject.SendMessage(item.baseDatosAlimentos[o.id].funcion,SendMessageOptions.DontRequireReceiver));
                    pool[i].gameObject.SetActive(true);
                }
                else
                {
                    pool[i].sprite.sprite       = item.baseDatosMedicinas[o.id - item.baseDatosAlimentos.Length].sprite;
                    pool[i].cantidad.text       = o.cantidad.ToString();
                    pool[i].cantidadAporta.text = item.baseDatosMedicinas[o.id - item.baseDatosAlimentos.Length].cura;
                    pool[i].boton.onClick.RemoveAllListeners();
                    pool[i].boton.onClick.AddListener(() => curar(o.id));
                    //pool[i].boton.onClick.AddListener(()=> gameObject.SendMessage(item.baseDatosMedicinas[o.id-item.baseDatosAlimentos.Length].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++)
            {
                InverarioObjectInterface oi = Instantiate(prefab, inventarioUI);
                pool.Add(oi);
                oi.transform.position   = Vector3.zero;
                oi.transform.localScale = Vector3.one;

                ObjectoEnBodega o = inventario[i];
                Debug.Log(o.tipo);
                if (o.tipo == 1)
                {
                    pool[i].sprite.sprite       = item.baseDatosAlimentos[o.id].sprite;
                    pool[i].cantidad.text       = o.cantidad.ToString();
                    pool[i].cantidadAporta.text = item.baseDatosAlimentos[o.id].aporta.ToString();
                    pool[i].boton.onClick.RemoveAllListeners();
                    pool[i].boton.onClick.AddListener(() => comer(o.id));
                    //pool[i].boton.onClick.AddListener(()=> gameObject.SendMessage(item.baseDatosAlimentos[o.id].funcion,SendMessageOptions.DontRequireReceiver));
                    pool[i].gameObject.SetActive(true);
                }
                else
                {
                    pool[i].sprite.sprite       = item.baseDatosMedicinas[o.id - item.baseDatosAlimentos.Length].sprite;
                    pool[i].cantidad.text       = o.cantidad.ToString();
                    pool[i].cantidadAporta.text = item.baseDatosMedicinas[o.id - item.baseDatosAlimentos.Length].cura;
                    pool[i].boton.onClick.RemoveAllListeners();
                    pool[i].boton.onClick.AddListener(() => curar(o.id));
                    //pool[i].boton.onClick.AddListener(()=> gameObject.SendMessage(item.baseDatosMedicinas[o.id-item.baseDatosAlimentos.Length].funcion,SendMessageOptions.DontRequireReceiver));
                    pool[i].gameObject.SetActive(true);
                }
            }
        }
        bodega.setInventario(inventario);
    }