Exemplo n.º 1
0
        public MDRItemSlot Create(MDRItemInstance item = null, ItemLocation restriction = ItemLocation.Any, MDRCharacter character = null)
        {
            MDRItemSlot result = new MDRItemSlot();

            result._itemInstance = item;
            result.Restriction   = restriction;
            result.Character     = character;
            return(result);
        }
Exemplo n.º 2
0
        /** Adds given item to the correct inventory slot (of the right type).  Returns the slot used if sucessful */
        override public MDRItemSlot ReceiveItem(MDRItemInstance item)
        {
            MDRItemSlot freeSlot = NextFreeSlot();

            if (freeSlot != null)
            {
                freeSlot.ItemInstance = item;
            }
            return(freeSlot);
        }
Exemplo n.º 3
0
        /** Adds given item to inventory.  Returns the slot used if sucessful */
        virtual public MDRItemSlot ReceiveItem(MDRItemInstance item)
        {
            MDRItemSlot freeSlot = NextFreeSlot();

            if (freeSlot != null)
            {
                freeSlot.ItemInstance = item;
            }
            if (OnInventoryChanged != null)
            {
                OnInventoryChanged();
            }
            return(freeSlot);
        }
Exemplo n.º 4
0
 public MDRInventory(int maxSlots, MDRCharacter character = null)
 {
     Slot = new MDRItemSlot[maxSlots];
     for (int lp = 0; lp < maxSlots; lp++)
     {
         Slot[lp]                 = new MDRItemSlot();
         Slot[lp].Character       = character;
         Slot[lp].OnAfterSetItem += delegate {
             if (OnInventoryChanged != null)
             {
                 OnInventoryChanged();
             }
         };
     }
 }
Exemplo n.º 5
0
        /** Update players stats when equipment changes */
        protected void DoEquipmentChanged(MDRItemSlot source, MDRItemInstance item)
        {
            // if paired item was two handed then unequip paired item
            if ((item != null) && (source.PairedSlot != null) && (!source.PairedSlot.IsEmpty) && (source.PairedSlot.ItemInstance.Item.Hands == 2))
            {
                _character.UnequipItem(source.PairedSlot);
            }

            // if we are two handed unequip paired item
            if ((source.PairedSlot != null) && !(item == null) && (item.Item.Hands == 2))
            {
                _character.UnequipItem(source.PairedSlot);
            }

            _character.ApplyChanges();
        }