public void OnDrop(PointerEventData eventData)
 {
     if (RectTransformUtility.RectangleContainsScreenPoint(DropRect, Input.mousePosition))
     {
         UIDragHandler dragHandler = eventData.pointerDrag.GetComponent <UIDragHandler>();
         if (dragHandler != null && !dragHandler.isDropped)
         {
             dragHandler.isDropped = true;
             // Get owing character
             BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter;
             if (owningCharacter == null)
             {
                 return;
             }
             UICharacterItemDragHandler draggedItemUI = dragHandler as UICharacterItemDragHandler;
             if (draggedItemUI != null)
             {
                 switch (draggedItemUI.sourceLocation)
                 {
                 case UICharacterItemDragHandler.SourceLocation.NonEquipItems:
                 case UICharacterItemDragHandler.SourceLocation.EquipItems:
                     draggedItemUI.uiCharacterItem.OnClickSetRefineItem();
                     break;
                 }
             }
         }
     }
 }
 private void Awake()
 {
     this._drager = this.gameObject.AddComponent<UIDragHandler>();
     this._drager._beginCall = this.OnBeginDrag;
     this._drager._dragCall = this.OnDrag;
     this._drager._endCall = this.OnEndDrag;
     this._drager.SetEnable(false);
     _selected.SetActive(false);
     this._clickBtn.onClick.AddListener(OnClick);
 }
Example #3
0
 private void Awake()
 {
     img             = GetComponent <Image>();
     btn             = GetComponent <Button>();
     dh              = gameObject.AddComponent <UIDragHandler>();
     dh.OnDragStart += OnDragStart;
     dh.OnDragEnd   += OnDragEnd;
     GameManager.Instance.OnCardTurnStartEvent  += () => { btn.interactable = true; dh.enabled = true; };
     GameManager.Instance.OnCardWillbeUsedEvent += () => { btn.interactable = false; dh.enabled = false; };
     CardSystem.Instance.OnShowCardEvent        += ShowCard;
 }
Example #4
0
        public void OnDrop(PointerEventData eventData)
        {
            if (uiCharacterItem == null)
            {
                Debug.LogWarning("[UIEquipItemSlotDropHandler] `uicharacterItem` is empty");
                return;
            }
            if (RectTransformUtility.RectangleContainsScreenPoint(DropRect, Input.mousePosition))
            {
                UIDragHandler dragHandler = eventData.pointerDrag.GetComponent <UIDragHandler>();
                if (dragHandler != null && !dragHandler.isDropped)
                {
                    dragHandler.isDropped = true;
                    // Get owing character
                    BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter;
                    if (owningCharacter == null)
                    {
                        return;
                    }
                    UICharacterItemDragHandler draggedItemUI = dragHandler as UICharacterItemDragHandler;
                    if (draggedItemUI != null)
                    {
                        switch (draggedItemUI.sourceLocation)
                        {
                        case UICharacterItemDragHandler.SourceLocation.EquipItems:
                            break;

                        case UICharacterItemDragHandler.SourceLocation.NonEquipItems:
                            // If dropped non equip item to equip slot, equip it
                            owningCharacter.RequestEquipItem((short)draggedItemUI.uiCharacterItem.IndexOfData, (byte)uiCharacterItem.InventoryType, (short)uiCharacterItem.IndexOfData);
                            break;
                        }
                    }
                }
            }
        }
        public void OnDrop(PointerEventData eventData)
        {
            if (uiCharacterHotkey == null)
            {
                Debug.LogWarning("[UICharacterHotkeyDropHandler] `uiCharacterHotkey` is empty");
                return;
            }
            if (RectTransformUtility.RectangleContainsScreenPoint(DropRect, Input.mousePosition))
            {
                UIDragHandler dragHandler = eventData.pointerDrag.GetComponent <UIDragHandler>();
                if (dragHandler != null && !dragHandler.isDropped)
                {
                    dragHandler.isDropped = true;
                    // Get owing character
                    BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter;
                    if (owningCharacter == null)
                    {
                        return;
                    }

                    string     swappingHotkeyId = string.Empty;
                    HotkeyType swappingType     = HotkeyType.None;
                    int        swappingDataId   = 0;
                    // If dragged item UI
                    UICharacterItemDragHandler draggedItemUI = dragHandler as UICharacterItemDragHandler;
                    if (draggedItemUI != null)
                    {
                        if (draggedItemUI.sourceLocation == UICharacterItemDragHandler.SourceLocation.Hotkey)
                        {
                            swappingHotkeyId = draggedItemUI.uiCharacterHotkey.Data.hotkeyId;
                            swappingType     = uiCharacterHotkey.Data.type;
                            swappingDataId   = uiCharacterHotkey.Data.dataId;
                        }

                        if (uiCharacterHotkey.CanAssignCharacterItem(draggedItemUI.CacheUI.Data.characterItem))
                        {
                            // Assign item to hotkey
                            owningCharacter.RequestAssignHotkey(uiCharacterHotkey.Data.hotkeyId, HotkeyType.Item, draggedItemUI.CacheUI.Data.characterItem.dataId);
                        }

                        if (draggedItemUI.sourceLocation == UICharacterItemDragHandler.SourceLocation.Hotkey)
                        {
                            // Swap key
                            owningCharacter.RequestAssignHotkey(swappingHotkeyId, swappingType, swappingDataId);
                        }
                    }
                    // If dragged skill UI
                    UICharacterSkillDragHandler draggedSkillUI = dragHandler as UICharacterSkillDragHandler;
                    if (draggedSkillUI != null)
                    {
                        if (draggedSkillUI.sourceLocation == UICharacterSkillDragHandler.SourceLocation.Hotkey)
                        {
                            swappingHotkeyId = draggedSkillUI.uiCharacterHotkey.Data.hotkeyId;
                            swappingType     = uiCharacterHotkey.Data.type;
                            swappingDataId   = uiCharacterHotkey.Data.dataId;
                        }

                        if (uiCharacterHotkey.CanAssignCharacterSkill(draggedSkillUI.CacheUI.Data.characterSkill))
                        {
                            // Assign item to hotkey
                            owningCharacter.RequestAssignHotkey(uiCharacterHotkey.Data.hotkeyId, HotkeyType.Skill, draggedSkillUI.CacheUI.Data.characterSkill.dataId);
                        }

                        if (draggedSkillUI.sourceLocation == UICharacterSkillDragHandler.SourceLocation.Hotkey)
                        {
                            // Swap key
                            owningCharacter.RequestAssignHotkey(swappingHotkeyId, swappingType, swappingDataId);
                        }
                    }
                }
            }
        }