@rpg-engine/long-bow 0.5.26 → 0.5.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import React, { Component, useState, useEffect, useRef, useContext, createContext, useMemo, Fragment } from 'react';
1
+ import React, { Component, useState, useEffect, useRef, useContext, createContext, useMemo, useCallback, Fragment } from 'react';
2
2
  import styled from 'styled-components';
3
3
  import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, isMobileOrTablet, CharacterClass, getSPForLevel, getXPForLevel, PeriodOfDay, UserAccountTypes } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
@@ -13472,12 +13472,8 @@ var ItemSlotRenderer = function ItemSlotRenderer(_ref) {
13472
13472
  switch (containerType) {
13473
13473
  case ItemContainerType.Equipment:
13474
13474
  return renderEquipment(itemToRender);
13475
- case ItemContainerType.Inventory:
13476
- return renderItem(itemToRender);
13477
- case ItemContainerType.Depot:
13478
- return renderItem(itemToRender);
13479
13475
  default:
13480
- return null;
13476
+ return renderItem(itemToRender);
13481
13477
  }
13482
13478
  };
13483
13479
  return React.createElement(React.Fragment, null, onRenderSlot(item));
@@ -13982,8 +13978,8 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13982
13978
  if (!item || isSelectingShortcut) {
13983
13979
  return;
13984
13980
  }
13985
- setDraggingItem(item);
13986
13981
  if (onDragStart && containerType) {
13982
+ setDraggingItem(item);
13987
13983
  onDragStart(item, slotIndex, containerType);
13988
13984
  }
13989
13985
  },
@@ -14761,10 +14757,14 @@ var useCursorPosition = function useCursorPosition(_ref) {
14761
14757
  }),
14762
14758
  position = _useState[0],
14763
14759
  setPosition = _useState[1];
14764
- var setFromEvent = function setFromEvent(e) {
14760
+ var scalePosition = useCallback(function (x, y) {
14761
+ return {
14762
+ x: (x - GRID_WIDTH / 2) / scale + GRID_WIDTH / 2,
14763
+ y: (y - GRID_HEIGHT / 2) / scale + GRID_HEIGHT / 2
14764
+ };
14765
+ }, [scale]);
14766
+ var setFromEvent = useCallback(function (e) {
14765
14767
  var x, y;
14766
- var viewportCenterX = window.innerWidth / 2 - GRID_WIDTH;
14767
- var viewportCenterY = window.innerHeight / -GRID_HEIGHT;
14768
14768
  if ('touches' in e) {
14769
14769
  x = e.touches[0].clientX;
14770
14770
  y = e.touches[0].clientY;
@@ -14772,22 +14772,30 @@ var useCursorPosition = function useCursorPosition(_ref) {
14772
14772
  x = e.clientX;
14773
14773
  y = e.clientY;
14774
14774
  }
14775
- // Adjusting for the global scale
14776
- // Assuming the element is centrally located
14775
+ var scaledPosition = scalePosition(x, y);
14776
+ setPosition(scaledPosition);
14777
+ }, [scale, scalePosition]);
14778
+ var cleanup = useCallback(function () {
14777
14779
  setPosition({
14778
- x: (x - viewportCenterX) / scale + viewportCenterX,
14779
- y: (y - viewportCenterY) / scale + viewportCenterY
14780
+ x: 0,
14781
+ y: 0
14780
14782
  });
14781
- };
14783
+ }, []);
14782
14784
  useEffect(function () {
14783
- window.addEventListener('mousemove', setFromEvent);
14784
- window.addEventListener('touchmove', setFromEvent);
14785
- console.log("SCALE IS ", scale);
14785
+ var handleEvent = function handleEvent(e) {
14786
+ return setFromEvent(e);
14787
+ };
14788
+ window.addEventListener('mousemove', handleEvent);
14789
+ window.addEventListener('touchmove', handleEvent);
14790
+ window.addEventListener('mouseup', cleanup);
14791
+ window.addEventListener('touchend', cleanup);
14786
14792
  return function () {
14787
- window.removeEventListener('mousemove', setFromEvent);
14788
- window.removeEventListener('touchmove', setFromEvent);
14793
+ window.removeEventListener('mousemove', handleEvent);
14794
+ window.removeEventListener('touchmove', handleEvent);
14795
+ window.removeEventListener('mouseup', cleanup);
14796
+ window.removeEventListener('touchend', cleanup);
14789
14797
  };
14790
- }, [scale]);
14798
+ }, [setFromEvent, cleanup]);
14791
14799
  return position;
14792
14800
  };
14793
14801
 
@@ -14808,6 +14816,9 @@ var DraggedItem = function DraggedItem(_ref) {
14808
14816
  if (!item) {
14809
14817
  return null;
14810
14818
  }
14819
+ if (x === 0 && y === 0) {
14820
+ return null;
14821
+ }
14811
14822
  var centeredX = x - OFFSET;
14812
14823
  var centeredY = y - OFFSET;
14813
14824
  var stackInfo = onRenderStackInfo((_item$_id = item == null ? void 0 : item._id) != null ? _item$_id : '', (_item$stackQty = item == null ? void 0 : item.stackQty) != null ? _item$stackQty : 0);