public virtual void OnPointerDown(PointerEventData eventData) { if (itemCollection == null) return; pointerDownOnUIElement = InventoryUIUtility.currentlyHoveringWrapper; if (pointerDownOnUIElement == null) return; //////////// Ugly hack, because input modules will take over soon. bool tapped = OnTap(eventData, InventoryActionInput.EventType.OnPointerDown); // Mobile version of OnPointerUp if (tapped) { return; } if (InventorySettingsManager.instance.useContextMenu && InventorySettingsManager.instance.triggerContextMenuKeys.AllPressed(eventData, InventoryActionInput.EventType.OnPointerDown)) { if (item != null) { TriggerContextMenu(); return; } } if (isDoubleTap) { OnDoubleTap(eventData, InventoryActionInput.EventType.OnPointerDown); return; } lastDownTime = Time.timeSinceLevelLoad; }
public virtual void OnPointerUp(PointerEventData eventData) { // Started on a UI element? if (pointerDownOnUIElement == null) return; pointerDownOnUIElement = null; // Cursor still inside the button on Pointer up? var canvas = gameObject.GetComponentInParent<Canvas>(); if(canvas.renderMode != RenderMode.WorldSpace) { if (screenSpaceRect.Contains(eventData.position) == false) return; } if (InventorySettingsManager.instance.useContextMenu || itemCollection == null) return; bool tapped = OnTap(eventData, InventoryActionInput.EventType.OnPointerUp); // Mobile version of OnPointerUp if (tapped) { return; } if (isDoubleTap) { OnDoubleTap(eventData, InventoryActionInput.EventType.OnPointerUp); return; } if (item != null && InventoryUIDragUtility.isDraggingItem == false) { // Check if we're trying to unstack if (itemCollection.useReferences == false && InventorySettingsManager.instance.useUnstackClick && itemCollection.canUnstackItemsInCollection) { if (InventorySettingsManager.instance.unstackKeys.AllPressed(eventData, InventoryActionInput.EventType.OnPointerUp)) { TriggerUnstack(itemCollection); return; // Stop the rest otherwise we'll do 2 actions at once. } } // Use the item if (InventorySettingsManager.instance.useItemKeys.AllPressed(eventData, InventoryActionInput.EventType.OnPointerUp)) TriggerUse(); } }
/// <summary> /// When the cursor exits an item /// </summary> /// <param name="wrapper"></param> /// <param name="eventData"></param> private void NotifyCursorExitWrapper(InventoryUIItemWrapperBase wrapper) { if (OnCursorExitWrapper != null) OnCursorExitWrapper(wrapper); }