public void SelectItemAndCloseInventory(EquipableId id) { Assert.AreNotEqual(currentSlot, -1); player.Equip(id, currentSlot); slots[currentSlot].ChangeIcon(id); CloseInventory(); }
// Asigna un ítem a un determinado slot public void Equip(EquipableId equipableId, int slot) { Equipable current = (slot == 0) ? itemAt0 : itemAt1; if (current) { if (current.itemId == equipableId) { // Si ya tenemos equipado este item en el slot correspondiente no hacemos nada return; } } // Obtenemos una nueva instancia del equipable de la base de datos y lo asociamos a este jugador Equipable newEquipable = ItemsDataBase.GetInstance().GetEquipable(equipableId); newEquipable.transform.SetParent(transform, false); if (slot == 0) { itemAt0 = newEquipable; } else { itemAt1 = newEquipable; } }
public Sprite GetSprite(EquipableId id) { return(weaponPrefabsCache[id].itemSprite); }
public Equipable GetEquipable(EquipableId id) { return(Instantiate(weaponPrefabsCache[id])); }
public void ChangeIcon(EquipableId id) { image.sprite = ItemsDataBase.GetInstance().GetSprite(id); }