Ejemplo n.º 1
0
    public void AddItemToInventory(ItensBase item) // adiciona um item ao inventario, testa se é Stack ou não.
    {                                              // caso remover = true, entao remove o item e nao adiciona.
        bool          foundItem = false;
        SlotsVendedor slotVazio = proxSlotVazio();

        if (item.isStacklabe)
        {
            foreach (SlotsVendedor slot in InventarioSlots)
            {
                if (slot.currentItem != null && slot.currentItem.nameItem == item.nameItem)
                {
                    slot.currentItem.addItem();
                    foundItem = true;
                    Destroy(item.gameObject);
                }
            }
            if (!foundItem && slotVazio != null)
            {
                slotVazio.currentItem = item;
            }
        }
        else if (slotVazio != null)
        {
            slotVazio.currentItem = item;
        }

        item.gameObject.SetActive(false);
    }
 public void AddEquipSave(GameObject ObjetoEquipavel)
 {
     item = ObjetoEquipavel.GetComponent <ItensBase>();
     this.EquipItem();
     item.slot.SetupSlot();
     item = null;
 }
    public void AddItemToInventory(ItensBase item, bool delete = false) // adiciona um item ao inventario, testa se é Stack ou não.
    {
        bool foundItem = false;
        SlotInventarioBehaviour slotVazio = proxSlotVazio();

        if (item.isStacklabe)
        {
            foreach (SlotInventarioBehaviour slot in InventarioSlots)
            {
                if (slot.currentItem != null && slot.currentItem.nameItem == item.nameItem)
                {
                    slot.currentItem.addItem();
                    foundItem = true;
                    if (delete)
                    {
                        item.DestroiItem();
                    }
                }
            }
            if (!foundItem && slotVazio != null)
            {
                slotVazio.currentItem = item;
            }
        }
        else if (slotVazio != null)
        {
            slotVazio.currentItem = item;
        }
        if (!delete)
        {
            item.gameObject.SetActive(false);
        }
    }
    public void RemoveItem() // remove o item do inventario e o dropa no chão
    {
        ItensBase item = selectedSlot.currentItem;

        item.gameObject.SetActive(true);
        item.transform.position = player.transform.position; // joga o item no chao na posição do personagem
        item.slot.currentItem   = null;
        item.slot.SetupSlot();                               // método para retirar o icone do inventario
        item.slot = null;
    }
 public void EquipeItem() // equipa  o item? !
 {
     if (selectedSlot.currentItem.canEquip)
     {
         ItensBase item = selectedSlot.currentItem;
         // retirando o item equipavel
         // slotInventario.selectedSlot.SetupSlot();
         //retira o item do inventario
         item = null;
     }
 }
 public void EquipeItem() // equipa  o item? !
 {
     if (selectedSlot.currentItem.canEquip)
     {
         ItensBase item = selectedSlot.currentItem;
         // coloca o item no equipavel, mas verifica se ja há um item ocupando o slot
         if (item.nameItem == "Espada")
         {
             if (PlayerItensController.instance.arma.currentItem == null)
             {
                 PlayerItensController aux;
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
             else
             {
                 PlayerItensController aux;
                 SlotEquipavel         auxInventory = PlayerItensController.instance.arma;
                 AddItemToInventory(auxInventory.currentItem);
                 auxInventory.currentItem.StatusArmaD();
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
         }
         if (item.nameItem == "elmo")
         {
             if (PlayerItensController.instance.elmo.currentItem == null)
             {
                 PlayerItensController aux;
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
             else
             {
                 PlayerItensController aux;
                 SlotEquipavel         auxInventory = PlayerItensController.instance.elmo;
                 AddItemToInventory(auxInventory.currentItem);
                 auxInventory.currentItem.StatusArmaD();
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
         }
         if (item.nameItem == "peito")
         {
             if (PlayerItensController.instance.peito.currentItem == null)
             {
                 PlayerItensController aux;
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
             else
             {
                 PlayerItensController aux;
                 SlotEquipavel         auxInventory = PlayerItensController.instance.peito;
                 AddItemToInventory(auxInventory.currentItem);
                 auxInventory.currentItem.StatusArmaD();
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
         }
         if (item.nameItem == "calça")
         {
             if (PlayerItensController.instance.calça.currentItem == null)
             {
                 PlayerItensController aux;
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
             else
             {
                 PlayerItensController aux;
                 SlotEquipavel         auxInventory = PlayerItensController.instance.calça;
                 AddItemToInventory(auxInventory.currentItem);
                 auxInventory.currentItem.StatusArmaD();
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
         }
         if (item.nameItem == "luva")
         {
             if (PlayerItensController.instance.luva.currentItem == null)
             {
                 PlayerItensController aux;
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
             else
             {
                 PlayerItensController aux;
                 SlotEquipavel         auxInventory = PlayerItensController.instance.luva;
                 AddItemToInventory(auxInventory.currentItem);
                 auxInventory.currentItem.StatusArmaD();
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
         }
         if (item.nameItem == "bota")
         {
             if (PlayerItensController.instance.bota.currentItem == null)
             {
                 PlayerItensController aux;
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
             else
             {
                 PlayerItensController aux;
                 SlotEquipavel         auxInventory = PlayerItensController.instance.bota;
                 AddItemToInventory(auxInventory.currentItem);
                 auxInventory.currentItem.StatusArmaD();
                 aux            = Equipavel;
                 Equipavel.item = selectedSlot.currentItem;
                 Equipavel.EquipItem();
                 selectedSlot.currentItem = null;
                 item.slot.SetupSlot();
             }
         }
     }
 }