Пример #1
0
    public bool RemoveItem(sEquipment _item)
    {
        // MODULE SLOTS
        if (_item.equipmentType == EquipmentType.Module)
        {
            for (int i = 0; i < moduleEquipmentSlots.Length; i++)
            {
                if (moduleEquipmentSlots[i].item == _item)
                {
                    currentModuleSlot            = i;
                    moduleEquipmentSlots[i].item = null;
                    return(true);
                }
            }
        }

        // WEAPON SLOTS
        else if (_item.equipmentType == EquipmentType.Weapon)
        {
            for (int y = 0; y < weaponEquipmentSlots.Length; y++)
            {
                if (weaponEquipmentSlots[y].item == _item)
                {
                    currentWeaponEquipSlot       = y;
                    weaponEquipmentSlots[y].item = null;
                    return(true);
                }
            }
        }

        return(false);
    }
Пример #2
0
    private string GetStatModifiersText(CharacterStat stat)
    {
        sb.Length = 0;

        foreach (StatModifier mod in stat.StatModifiers)
        {
            if (sb.Length > 0)
            {
                sb.AppendLine();
            }

            if (mod.Value > 0)
            {
                sb.Append("+");
            }

            sb.Append(mod.Value);

            sEquipment item = mod.Source as sEquipment;

            if (item != null)
            {
                sb.Append(" ");
                sb.Append(item.itemName);
            }
            else
            {
                Debug.LogError("Modifier is not an Equippable item!");
            }
        }

        return(sb.ToString());
    }
    public void Equip(sEquipment _item)
    {
        Debug.Log("Equipping " + _item.name);

        sEquipment previousItem;

        if (equipmentPanel.AddItem(_item, out previousItem))
        {
            if (previousItem != null)
            {
                //TODO: potentially just destroy the item here instead
                //inventory.AddItem(previousItem);
                //previousItem.Unequip(this);

                statPanel.UpdateStatValues();
            }

            _item.Equip(this);
            statPanel.UpdateStatValues();

            Debug.Log("Added " + _item.name);
        }
        else
        {
            inventory.AddItem(_item);
        }
    }
    private void ShowTooltip(ItemSlot itemSlot)
    {
        sEquipment equippableItem = itemSlot.item as sEquipment;

        if (equippableItem != null)
        {
            itemTooltip.ShowTooltip(equippableItem);
        }
    }
    private void UnEquip(ItemSlot itemSlot)
    {
        sEquipment equippableItem = itemSlot.item as sEquipment;

        if (equippableItem != null)
        {
            Unequip(equippableItem);
        }
    }
Пример #6
0
    public override bool CanRecieveItem(sItem item)
    {
        if (item == null)
        {
            return true;
        }

        sEquipment equippableItem = item as sEquipment;
        return equippableItem != null && equippableItem.equipmentType == equipmentType;
    }
Пример #7
0
    public void ShowTooltip(sEquipment item)
    {
        itemNameText.text = item.itemName;
        itemSlotText.text = item.equipmentType.ToString();

        sb.Length = 0;
        AddStat(item.HPBoost, " HP");
        AddStat(item.ShieldBoost, " Shield");
        AddStat(item.ShieldRegenBonus, " Regen", isPercent: true);
        AddStat(item.WeaponReloadBonus, " Reload", isPercent: true);
        AddStat(item.damage, " Damage");
        AddStat(item.reloadTime, " Seconds Reload Time");
        itemStatsText.text = sb.ToString();

        gameObject.SetActive(true);
    }
    private void Drop(ItemSlot dropItemSlot)
    {
        if (dropItemSlot.CanRecieveItem(draggedSlot.item) && draggedSlot.CanRecieveItem(dropItemSlot.item))
        {
            sEquipment dragItem = draggedSlot.item as sEquipment;
            sEquipment dropItem = dropItemSlot.item as sEquipment;

            if (draggedSlot is EquipmentSlot)
            {
                Debug.Log("Equipping " + dropItem.name);
                if (dragItem != null)
                {
                    Unequip(dragItem);                  //dragItem.Unequip(this);
                }
                if (dropItem != null)
                {
                    Equip(dropItem);                  //dropItem.Equip(this);
                }
            }
            if (dropItemSlot is EquipmentSlot)
            {
                if (dragItem != null)
                {
                    Equip(dragItem);                  //dragItem.Equip(this);
                }
                if (dropItem != null)
                {
                    Unequip(dragItem);                  // dropItem.Unequip(this);
                }
            }

            statPanel.UpdateStatValues();

            sItem draggedItem = draggedSlot.item;
            draggedSlot.item  = dropItemSlot.item;
            dropItemSlot.item = draggedItem;
        }
    }
Пример #9
0
    public bool AddItem(sEquipment _item, out sEquipment previousItem)
    {
        // MODULE SLOTS
        if (_item.equipmentType == EquipmentType.Module)
        {
            for (int i = 0; i < moduleEquipmentSlots.Length; i++)
            {
                if (moduleEquipmentSlots[i].equipmentType == _item.equipmentType && moduleEquipmentSlots[i].item == null)
                {
                    currentModuleSlot            = i;
                    previousItem                 = (sEquipment)moduleEquipmentSlots[i].item;
                    moduleEquipmentSlots[i].item = _item;
                    return(true);
                }
            }
        }

        // WEAPON SLOTS
        else if (_item.equipmentType == EquipmentType.Weapon)
        {
            for (int y = 0; y < weaponEquipmentSlots.Length; y++)
            {
                if (weaponEquipmentSlots[y].equipmentType == _item.equipmentType && weaponEquipmentSlots[y].item == null)
                {
                    Debug.Log("Equipped ");
                    currentWeaponEquipSlot       = y;
                    previousItem                 = (sEquipment)weaponEquipmentSlots[y].item;
                    weaponEquipmentSlots[y].item = _item;
                    return(true);
                }
            }
        }

        previousItem = null;
        return(false);
    }
 public void Unequip(sEquipment _item)
 {
     equipmentPanel.RemoveItem(_item);
     _item.Unequip(this);
     statPanel.UpdateStatValues();
 }