示例#1
0
    // 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;
        }
    }
示例#2
0
 private void LoadInventory()
 {
     foreach (EquipableId id in itemsInInventory)
     {
         GameObject item = Object.Instantiate(inventorySlotPrefab);
         item.transform.SetParent(gameObject.transform, false);
         item.GetComponent <Image>().sprite = ItemsDataBase.GetInstance().GetSprite(id);
         item.GetComponent <Button>().onClick.AddListener(delegate { inventorySystem.SelectItemAndCloseInventory(id); });
     }
 }
示例#3
0
 public void ChangeIcon(EquipableId id)
 {
     image.sprite = ItemsDataBase.GetInstance().GetSprite(id);
 }