Example #1
0
        /// <summary>
        /// 初始化已装备物品面板
        /// </summary>
        public void SetUpEquipedEquipmentsPlane()
        {
            for (int i = 0; i < player.allEquipedEquipments.Length; i++)
            {
                Transform equipedEquipmentButton = allEquipedEquipmentButtons[i];

                Equipment equipment = player.allEquipedEquipments[i];

                bool equipmentSlotUnlocked = true;

                // 如果是第6个装备槽,首先检查是否已经购买解锁
                if (i == 6)
                {
                    equipmentSlotUnlocked = BuyRecord.Instance.extraEquipmentSlotUnlocked;
                }

                // 根据装备和解锁情况显示装备槽
                equipedEquipmentButton.GetComponent <EquipedEquipmentCell>().SetUpEquipedEquipmentCell(equipment, equipmentSlotUnlocked);

                //初始化装备槽上的拖拽组件
                EquipedItemDragControl equipedItemDragControl = equipedEquipmentButton.GetComponent <EquipedItemDragControl>();

                equipedItemDragControl.SetUpEquipedItemDragControl(equipment);
            }
        }
Example #2
0
        protected override void OnUserDrop(PointerEventData eventData)
        {
            GameObject draggedObject = GetDraggedObject(eventData);
            // 获取拖拽物体中的物品信息
            Item draggedItem = GetDraggedItem(eventData);

            // 如果拖拽游戏图中没有物品
            if (draggedItem == null)
            {
                SetDropResult(eventData, false);
                tintImage.enabled = false;
                return;
            }

            // 如果拖拽中的物品类型不对
            if (!CheckDraggedItemValid(draggedItem))
            {
                SetDropResult(eventData, false);
                tintImage.enabled = false;
                return;
            }

            //bagCanvas.GetComponent<BagViewController>().itemForSpecialOperation = draggedItem;

            // 装备面板内的装备
            if (draggedObject.GetComponent <EquipedItemDragControl> () != null)
            {
                EquipedItemDragControl dc = draggedObject.GetComponent <EquipedItemDragControl> ();

                soDragControl.itemImage.sprite  = dc.itemImage.sprite;
                soDragControl.itemImage.enabled = true;

                soDragControl.item = draggedItem;

                SetDropResult(eventData, true);
            }

            //从背包内拖拽出得物品
            else if (draggedObject.GetComponent <ItemInBagDragControl> () != null)
            {
                ItemInBagDragControl dc = draggedObject.GetComponent <ItemInBagDragControl> ();

                soDragControl.itemImage.sprite  = dc.itemImage.sprite;
                soDragControl.itemImage.enabled = true;

                if (draggedItem.itemType == ItemType.Equipment)
                {
                    soDragControl.item = draggedItem;
                }
                else
                {
                    soDragControl.item = Item.NewItemWith(draggedItem.itemId, 1);
                }

                SetDropResult(eventData, true);
            }



            if (dropSucceedCallBack != null)
            {
                dropSucceedCallBack(draggedItem);
            }

            tintImage.enabled = false;
        }