diff --git a/packages/sts-like-viewer/src/gameobjects/InventoryItemContainer.ts b/packages/sts-like-viewer/src/gameobjects/InventoryItemContainer.ts index fbab4ae..13affe8 100644 --- a/packages/sts-like-viewer/src/gameobjects/InventoryItemContainer.ts +++ b/packages/sts-like-viewer/src/gameobjects/InventoryItemContainer.ts @@ -197,7 +197,7 @@ export class InventoryItemContainer extends Phaser.GameObjects.Container { if ( clampedX !== item.transform.offset.x || clampedY !== item.transform.offset.y || - finalRotation !== 0 + finalRotation !== item.transform.rotation ) { return this.callbacks.onMoveItem( item.id, diff --git a/packages/sts-like-viewer/src/scenes/InventoryTestScene.ts b/packages/sts-like-viewer/src/scenes/InventoryTestScene.ts index 386b74c..16819de 100644 --- a/packages/sts-like-viewer/src/scenes/InventoryTestScene.ts +++ b/packages/sts-like-viewer/src/scenes/InventoryTestScene.ts @@ -2,7 +2,11 @@ import { ReactiveScene } from "boardgame-phaser"; import { createButton } from "@/utils/createButton"; import { GRID_CONFIG } from "@/config"; import { createInventorySignal, moveItem } from "@/state/inventory"; -import { createItemIn, data } from "boardgame-core/samples/slay-the-spire-like"; +import { + createItemIn, + data, + removeItemFromGrid, +} from "boardgame-core/samples/slay-the-spire-like"; import { createInventoryItemSpawner } from "@/gameobjects/InventoryItemSpawner"; import { SceneKey } from "./types"; @@ -176,14 +180,11 @@ export class InventoryTestScene extends ReactiveScene { private removeLastItem(): void { this.inventorySignal.produce((inventory) => { - const items = Array.from(inventory.items.entries()); - - if (items.length === 0) { - return; - } - - const [lastId] = items[items.length - 1]; - inventory.items.delete(lastId); + const ids = [...inventory.items.keys()]; + const last = ids.length > 0 ? ids[ids.length - 1] : null; + console.log({ last }); + if (!last) return; + removeItemFromGrid(inventory, last); }); } }