示例#1
0
        public EQUIP_RESULT DoEquip(ItemArmor itemToEquip)
        {
            EQUIP_RESULT bestResult = EQUIP_RESULT.NOT_EQUIPPABLE;

            foreach (EntityBodyPart part in BodyParts)
            {
                EQUIP_RESULT currentResult = part.DoEquip(itemToEquip);

                if (currentResult == EQUIP_RESULT.EQUIPPED)
                {
                    _defensepower += itemToEquip.ArmorFactor;
                    return(currentResult);
                }
                else if (currentResult > bestResult)
                {
                    bestResult = currentResult;
                }
            }

            return(bestResult);
        }
示例#2
0
        public Handler DoEquip(EntityHand hand)
        {
            ItemContainer container  = hand.Item as ItemContainer;
            EQUIP_RESULT  bestResult = EQUIP_RESULT.NOT_EQUIPPABLE;

            foreach (EntityContainerSlot slot in ContainerSlots)
            {
                EQUIP_RESULT currentResult = slot.DoEquip(container);

                if (currentResult == EQUIP_RESULT.EQUIPPED)
                {
                    hand.Item = null;
                    return(Handler.HANDLED(Statics.ItemTypeToEquipMessage[container.Type], container.NameAsParagraph));
                }
                else if (currentResult > bestResult)
                {
                    bestResult = currentResult;
                }
            }

            return(Handler.HANDLED(Statics.EquipResultToMessage[bestResult]));
        }
示例#3
0
        // result determines message to display

        public Handler DoEquip(EntityHand hand)
        {
            ItemArmor    armor      = hand.Item as ItemArmor;
            EQUIP_RESULT bestResult = EQUIP_RESULT.NOT_EQUIPPABLE;

            foreach (EntityBodyPart part in BodyParts)
            {
                EQUIP_RESULT currentResult = part.DoEquip(armor);

                if (currentResult == EQUIP_RESULT.EQUIPPED)
                {
                    _defensepower += armor.ArmorFactor;
                    hand.Item      = null;
                    return(Handler.HANDLED(Statics.ItemTypeToEquipMessage[armor.Type], armor.NameAsParagraph));
                }
                else if (currentResult > bestResult)
                {
                    bestResult = currentResult;
                }
            }

            return(Handler.HANDLED(Statics.EquipResultToMessage[bestResult]));
        }