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(); }
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; } } }
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); }