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