fix(sts-like-viewer): fix item movement detection and removal
- Update `InventoryItemContainer` to correctly detect rotation changes - Use `removeItemFromGrid` in `InventoryTestScene` for item removal
This commit is contained in:
parent
fe0621cedf
commit
eff62bc0ed
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue