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); }
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); } }
public override bool CanRecieveItem(sItem item) { if (item == null) { return true; } sEquipment equippableItem = item as sEquipment; return equippableItem != null && equippableItem.equipmentType == equipmentType; }
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; } }
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(); }