//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(); }
//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(); }
//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); } } }
//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?!"); }