Example #1
0
        /// <summary>
        /// Load the item inventory from the inventory manager to a UI inventory panel.
        /// </summary>
        public void LoadInventoryToInventoryModal(InventoryType inventory)
        {
            RectTransform itemArea     = inventory.Equals(InventoryType.PLAYER) ? playerInventoryItemArea : shopInventoryItemArea;
            RectTransform uiItemObject = inventory.Equals(InventoryType.PLAYER) ? inventoryUIObject : shopUIObject;

            // Remove existing inventory items
            foreach (RectTransform r in itemArea.GetComponentsInChildren <RectTransform>())
            {
                if (r != itemArea)
                {
                    Destroy(r.gameObject);
                }
            }


            if (inventory.Equals(InventoryType.PLAYER))
            {
                foreach (InventoryItem item in InventoryManager.Instance.playerItems)
                {
                    RectTransform i = Instantiate(uiItemObject, itemArea.transform);

                    i.GetComponent <UIInventoryItem>().InitializeWithData(item);
                }
            }
            else
            {
                foreach (InventoryItem item in InventoryManager.Instance.shopItems)
                {
                    RectTransform i = Instantiate(uiItemObject, itemArea.transform);

                    i.GetComponent <UIInventoryItem>().InitializeWithData(item);
                }
            }

            // Equipped Items (if necessary)
            if (inventory.Equals(InventoryType.PLAYER))
            {
                foreach (RectTransform r in inventoryEquippedArea.GetComponentsInChildren <RectTransform>())
                {
                    if (r != inventoryEquippedArea)
                    {
                        Destroy(r.gameObject);
                    }
                }

                // Load the equipped items to the bar
                foreach (ToolItem i in InventoryManager.Instance.equippedItems)
                {
                    RectTransform t = Instantiate(equippedToolUIObject, inventoryEquippedArea.transform);
                    t.GetComponent <UIEquippedTool>().InitializeWithData(i);
                }
            }
        }
Example #2
0
        public void RemoveItem(InventoryItem item, InventoryType inventory)
        {
            if (inventory.Equals(InventoryType.PLAYER))
            {
                playerItems.Remove(item);
            }
            else
            {
                shopItems.Remove(item);
            }

            UIManager.Instance.LoadInventoryToInventoryModal(inventory);
        }
Example #3
0
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }

            if (obj == null || this.GetType() != obj.GetType())
            {
                return(false);
            }

            Item item = (Item)obj;

            return(this.hash.Equals(item.Hash) && type.Equals(item.Type));
        }
        private void ExecuteHandler(ClientSession session)
        {
            lock (session.Character.Inventory)
            {
                if (Slot.Equals(DestinationSlot) &&
                    InventoryType.Equals(DestinationInventoryType))
                {
                    return;
                }

                if (DestinationSlot > 48 + ((session.Character.HaveBackpack() ? 1 : 0) * 12))
                {
                    return;
                }

                if (session.Character.InExchangeOrTrade)
                {
                    return;
                }

                ItemInstance sourceItem =
                    session.Character.Inventory.LoadBySlotAndType(Slot, InventoryType);
                if (sourceItem?.Item.ItemType == ItemType.Specialist ||
                    sourceItem?.Item.ItemType == ItemType.Fashion)
                {
                    ItemInstance inv = session.Character.Inventory.MoveInInventory(Slot,
                                                                                   InventoryType, DestinationInventoryType, DestinationSlot,
                                                                                   false);
                    if (inv != null)
                    {
                        session.SendPacket(inv.GenerateInventoryAdd());
                        session.SendPacket(
                            UserInterfaceHelper.Instance.GenerateInventoryRemove(InventoryType,
                                                                                 Slot));
                    }
                }
            }
        }