@adatechnology/game-test-room 0.9.0 → 0.10.0

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.
package/dist/index.js CHANGED
@@ -2461,6 +2461,9 @@ function createPlayer(THREE, o) {
2461
2461
  const blocked = (x, z) => {
2462
2462
  if (Math.abs(x) > o.limit - PLAYER_RADIUS || Math.abs(z) > o.limit - PLAYER_RADIUS) return true;
2463
2463
  for (const c of o.colliders) if (x > c[0] - PLAYER_RADIUS && x < c[2] + PLAYER_RADIUS && z > c[1] - PLAYER_RADIUS && z < c[3] + PLAYER_RADIUS) return true;
2464
+ if (o.blockers) {
2465
+ for (const blocked2 of o.blockers) if (blocked2(x, z, PLAYER_RADIUS)) return true;
2466
+ }
2464
2467
  return false;
2465
2468
  };
2466
2469
  const move = (dx, dz) => {
@@ -4110,10 +4113,12 @@ function createTestRoom(options) {
4110
4113
  log.setBeforeRead(flush);
4111
4114
  let useHeld = false;
4112
4115
  let useFirst = false;
4116
+ const blockers = /* @__PURE__ */ new Set();
4113
4117
  const player = createPlayer(THREE, {
4114
4118
  camera,
4115
4119
  dom,
4116
4120
  colliders: arena.colliders,
4121
+ blockers,
4117
4122
  limit: arenaSize,
4118
4123
  start: arena.playerStart,
4119
4124
  hooks: {
@@ -4296,8 +4301,10 @@ function createTestRoom(options) {
4296
4301
  film.clear();
4297
4302
  fluids.setTap(TAP_ID, false);
4298
4303
  };
4304
+ const clearListeners = /* @__PURE__ */ new Set();
4299
4305
  const clear = () => {
4300
4306
  clearEverything();
4307
+ for (const listener of [...clearListeners]) listener();
4301
4308
  restingTops.length = 0;
4302
4309
  pending = [];
4303
4310
  action("clear", t("act.clear"));
@@ -5496,6 +5503,14 @@ function createTestRoom(options) {
5496
5503
  },
5497
5504
  log(text, data) {
5498
5505
  action("module_note", text, { data });
5506
+ },
5507
+ addBlocker(blocked) {
5508
+ blockers.add(blocked);
5509
+ return () => blockers.delete(blocked);
5510
+ },
5511
+ onClear(listener) {
5512
+ clearListeners.add(listener);
5513
+ return () => clearListeners.delete(listener);
5499
5514
  }
5500
5515
  };
5501
5516
  const lendBench = (store) => ({