コード例 #1
0
        public override void OnEndDrag(PointerEventData eventData)
        {
            base.OnEndDrag(eventData);
            if (isDropped || !CanDrag)
            {
                return;
            }
            BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter;

            if (owningCharacter == null)
            {
                return;
            }
            if (sourceLocation == SourceLocation.NonEquipItems && !EventSystem.current.IsPointerOverGameObject())
            {
                uiCharacterItem.OnClickDrop();
            }
            if (sourceLocation == SourceLocation.EquipItems && EventSystem.current.IsPointerOverGameObject())
            {
                uiCharacterItem.OnClickUnEquip();
            }
            if (sourceLocation == SourceLocation.StorageItems)
            {
                uiCharacterItem.OnClickMoveFromStorage();
            }
            if (sourceLocation == SourceLocation.Hotkey)
            {
                owningCharacter.RequestAssignHotkey(uiCharacterHotkey.hotkeyId, HotkeyType.None, 0);
            }
        }
コード例 #2
0
        public void OnClickUnAssign()
        {
            BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter;

            if (owningCharacter != null)
            {
                owningCharacter.RequestAssignHotkey(uiCharacterHotkey.hotkeyId, HotkeyType.None, 0);
            }
            Hide();
        }
コード例 #3
0
        protected void OnSelectCharacterItem(UICharacterItem ui)
        {
            BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter;

            if (owningCharacter != null)
            {
                owningCharacter.RequestAssignHotkey(uiCharacterHotkey.hotkeyId, HotkeyType.Item, ui.Data.characterItem.dataId);
            }
            Hide();
        }
コード例 #4
0
        protected void OnSelectCharacterSkill(UICharacterSkill ui)
        {
            BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter;

            if (owningCharacter != null)
            {
                owningCharacter.RequestAssignHotkey(uiCharacterHotkey.hotkeyId, HotkeyType.Skill, ui.Skill.DataId);
            }
            Hide();
        }
コード例 #5
0
        public override void OnEndDrag(PointerEventData eventData)
        {
            base.OnEndDrag(eventData);
            if (isDropped || !CanDrag)
            {
                return;
            }
            BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter;

            if (owningCharacter == null)
            {
                return;
            }
            if (sourceLocation == SourceLocation.Hotkey)
            {
                owningCharacter.RequestAssignHotkey(uiCharacterHotkey.hotkeyId, HotkeyType.None, 0);
            }
        }
コード例 #6
0
        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);
                        }
                    }
                }
            }
        }