示例#1
0
        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();
        }
示例#2
0
 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);
         }
     }
 }
示例#3
0
        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;
                }
            }
        }