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); } }
public void OnClickUnAssign() { BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter; if (owningCharacter != null) { owningCharacter.RequestAssignHotkey(uiCharacterHotkey.hotkeyId, HotkeyType.None, 0); } Hide(); }
protected void OnSelectCharacterItem(UICharacterItem ui) { BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter; if (owningCharacter != null) { owningCharacter.RequestAssignHotkey(uiCharacterHotkey.hotkeyId, HotkeyType.Item, ui.Data.characterItem.dataId); } Hide(); }
protected void OnSelectCharacterSkill(UICharacterSkill ui) { BasePlayerCharacterEntity owningCharacter = BasePlayerCharacterController.OwningCharacter; if (owningCharacter != null) { owningCharacter.RequestAssignHotkey(uiCharacterHotkey.hotkeyId, HotkeyType.Skill, ui.Skill.DataId); } Hide(); }
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); } }
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); } } } } }