public void EquipOn(int typeOfSlot) { CharEquipmentSlot slotNeeded; switch (typeOfSlot) { case 0: slotNeeded = CharEquipmentSlot.LeftHand; break; case 1: slotNeeded = CharEquipmentSlot.Book; break; case 2: slotNeeded = CharEquipmentSlot.RightHand; break; default: slotNeeded = CharEquipmentSlot.LeftHand; break; } BaseStats member = playerTeam.GetSpecificMember(memberSelected).GetStats(); ItemConfig currentEquippedItem = member.GetEquippedItem(slotNeeded); if (currentEquippedItem != null) { ReturnItemToInventory(slotNeeded, member, currentEquippedItem); currentEquippedItem = null; } if (indexOfSelectItem < 0) { return; } ItemConfig item = playerInventory.GetItemInSlot(indexOfSelectItem); if (item == null) { return; } if (item.GetItemType() != ItemType.Equipable) { return; } if (slotNeeded != item.GetCanEquipOn()) { return; } AddItemToEquipmentSlot(item, slotNeeded, member); LoadEquipments(memberSelected); ResetSelectedItem(); }
private void ApplyEquipableItemEffect(BaseStats target, ItemConfig item, CharEquipmentSlot equipedOn) { if (itemEffect == ItemEffect.IncreaseStatTemporarily) { if (target.GetEquippedItem(equipedOn) == item) { target.ReturnAfterUnnequip(attributteToModify, item, equipedOn); } else { target.ModifyStatByEquip(attributteToModify, modifier, item, equipedOn); } } }
private void SetupEquippedItemsPanel(BaseStats charStats) { ItemConfig item; for (int i = 0; i < partyMember.equippedItemSlot.Length; i++) { switch (i) { case 0: item = charStats.GetEquippedItem(CharEquipmentSlot.LeftHand); if (item != null) { partyMember.equippedItemSlot[i].itemName.text = item.GetDisplayName().ToUpper(); partyMember.equippedItemSlot[i].itemInfo.text = item.GetDescription().ToUpper(); partyMember.equippedItemSlot[i].item = item; partyMember.equippedItemSlot[i].unequipButton.SetActive(true); } else { partyMember.equippedItemSlot[i].itemName.text = "NONE"; partyMember.equippedItemSlot[i].itemInfo.text = "NO ITEM EQUIPPED"; partyMember.equippedItemSlot[i].item = null; partyMember.equippedItemSlot[i].unequipButton.SetActive(false); } break; case 1: item = charStats.GetEquippedItem(CharEquipmentSlot.Book); if (item != null) { partyMember.equippedItemSlot[i].itemName.text = item.GetDisplayName().ToUpper(); partyMember.equippedItemSlot[i].itemInfo.text = item.GetDescription().ToUpper(); partyMember.equippedItemSlot[i].item = item; partyMember.equippedItemSlot[i].unequipButton.SetActive(true); } else { partyMember.equippedItemSlot[i].itemName.text = "NONE"; partyMember.equippedItemSlot[i].itemInfo.text = "NO BOOK EQUIPPED"; partyMember.equippedItemSlot[i].item = null; partyMember.equippedItemSlot[i].unequipButton.SetActive(false); } break; case 2: item = charStats.GetEquippedItem(CharEquipmentSlot.RightHand); if (item != null) { partyMember.equippedItemSlot[i].itemName.text = item.GetDisplayName().ToUpper(); partyMember.equippedItemSlot[i].itemInfo.text = item.GetDescription().ToUpper(); partyMember.equippedItemSlot[i].item = item; partyMember.equippedItemSlot[i].unequipButton.SetActive(true); } else { partyMember.equippedItemSlot[i].itemName.text = "NONE"; partyMember.equippedItemSlot[i].itemInfo.text = "NO ITEM EQUIPPED"; partyMember.equippedItemSlot[i].item = null; partyMember.equippedItemSlot[i].unequipButton.SetActive(false); } break; default: return; } } }