@vpmedia/phaser 1.64.0 → 1.66.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @vpmedia/phaser
2
2
 
3
- [![npm version](https://badge.fury.io/js/@vpmedia%2Fphaser.svg?v=1.64.0)](https://badge.fury.io/js/@vpmedia%2Fphaser)
3
+ [![npm version](https://badge.fury.io/js/@vpmedia%2Fphaser.svg?v=1.66.0)](https://badge.fury.io/js/@vpmedia%2Fphaser)
4
4
  [![Node.js CI](https://github.com/vpmedia/phaser/actions/workflows/ci.yml/badge.svg)](https://github.com/vpmedia/phaser/actions/workflows/ci.yml)
5
5
 
6
6
  @vpmedia/phaser is the modern ECMAScript port of the popular Phaser game engine v2.6.2.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vpmedia/phaser",
3
- "version": "1.64.0",
3
+ "version": "1.66.0",
4
4
  "description": "@vpmedia/phaser is the modern ECMAScript port of the popular Phaser game engine v2.6.2",
5
5
  "author": "Andras Csizmadia <andras@vpmedia.hu> (www.vpmedia.hu)",
6
6
  "license": "MIT",
@@ -32,7 +32,7 @@
32
32
  "globals": "^15.12.0",
33
33
  "jest": "^29.7.0",
34
34
  "jest-environment-jsdom": "^29.7.0",
35
- "lefthook": "^1.8.2",
35
+ "lefthook": "^1.8.4",
36
36
  "prettier": "^3.3.3",
37
37
  "typescript": "^5.6.3"
38
38
  },
@@ -50,6 +50,6 @@
50
50
  "not op_mini all"
51
51
  ],
52
52
  "dependencies": {
53
- "@vpmedia/simplify": "^1.12.0"
53
+ "@vpmedia/simplify": "^1.14.0"
54
54
  }
55
55
  }
@@ -1,3 +1,9 @@
1
+ import {
2
+ addPageLifecycleCallback,
3
+ getPageLifecycleEventEmitter,
4
+ PAGE_LIFECYCLE_STATE_ACTIVE,
5
+ PAGE_LIFECYCLE_STATE_CHANGE_EVENT,
6
+ } from '@vpmedia/simplify';
1
7
  import { ArraySet } from './array_set.js';
2
8
  import { Signal } from './signal.js';
3
9
  import { Sound } from './sound.js';
@@ -80,9 +86,7 @@ export class SoundManager {
80
86
  this.addUnlockHandlers();
81
87
  }
82
88
  this.context.addEventListener('statechange', this.onContextStateChange, false);
83
- for (const eventType of ['pageshow', 'visibilitychange', 'resume']) {
84
- window.addEventListener(eventType, this.onPageLifecycleChange, true);
85
- }
89
+ getPageLifecycleEventEmitter().on(PAGE_LIFECYCLE_STATE_CHANGE_EVENT, this.onPageLifecycleChange);
86
90
  }
87
91
 
88
92
  /**
@@ -109,6 +113,10 @@ export class SoundManager {
109
113
  * TBD.
110
114
  */
111
115
  checkUnlockHandlers = () => {
116
+ this.game.logger.info('checkUnlockHandlers', {
117
+ state: this.context.state,
118
+ isLocked: this.isLocked,
119
+ });
112
120
  if (!this.isLocked && (this.context.state === 'suspended' || this.context.state === 'interrupted')) {
113
121
  this.addUnlockHandlers();
114
122
  } else if (this.isLocked && this.context.state === 'running') {
@@ -125,9 +133,9 @@ export class SoundManager {
125
133
  state: this.context.state,
126
134
  isLocked: this.isLocked,
127
135
  });
128
- document.body.addEventListener('touchend', this.onUnlockEvent, false);
129
- document.body.addEventListener('click', this.onUnlockEvent, false);
130
- document.body.addEventListener('keydown', this.onUnlockEvent, false);
136
+ for (const eventType of ['touchend', 'click', 'keydown']) {
137
+ document.body.addEventListener(eventType, this.onUnlockEvent, false);
138
+ }
131
139
  };
132
140
 
133
141
  /**
@@ -139,9 +147,9 @@ export class SoundManager {
139
147
  state: this.context.state,
140
148
  isLocked: this.isLocked,
141
149
  });
142
- document.body.removeEventListener('touchend', this.onUnlockEvent, false);
143
- document.body.removeEventListener('click', this.onUnlockEvent, false);
144
- document.body.removeEventListener('keydown', this.onUnlockEvent, false);
150
+ for (const eventType of ['touchend', 'click', 'keydown']) {
151
+ document.body.removeEventListener(eventType, this.onUnlockEvent, false);
152
+ }
145
153
  };
146
154
 
147
155
  /**
@@ -244,6 +252,12 @@ export class SoundManager {
244
252
  })
245
253
  .catch((error) => {
246
254
  this.game.exceptionHandler(error, { 'asset.key': key });
255
+ const typedError = error instanceof Error ? error : new Error(error);
256
+ if (typedError.name === 'InvalidStateError') {
257
+ addPageLifecycleCallback(PAGE_LIFECYCLE_STATE_ACTIVE, () => {
258
+ this.decode(key);
259
+ });
260
+ }
247
261
  });
248
262
  }
249
263
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sound_manager.d.ts","sourceRoot":"","sources":["../../../src/phaser/core/sound_manager.js"],"names":[],"mappings":"AAKA;IACE;;;OAGG;IACH,kBAFW,OAAO,WAAW,EAAE,IAAI,EAqBlC;IAlBC,+BAAgB;IAChB,iBAA4B;IAC5B,2BAA2B;IAC3B,SADW,YAAY,CACJ;IACnB,oBAAoB;IACpB,iBAAoB;IACpB,yBAA2B;IAC3B,kBAAqB;IACrB,qBAAuB;IACvB,oBAAuB;IACvB,gBAAmB;IACnB,mBAAyB;IACzB,gBAAgB;IAChB,eAAiB;IACjB,qBAAgC;IAChC,mBAAsB;IACtB,yBAA0B;IAC1B,mBAAyB;IAG3B;;OAEG;IACH,aAmDC;IAfG,gBAA+C;IAiBnD;;OAEG;IACH,kCAIE;IAEF;;OAEG;IACH,iCAME;IAEF;;OAEG;IACH,gCAME;IAEF;;OAEG;IACH,8BASE;IAEF;;OAEG;IACH,iCASE;IAEF;;;OAGG;IACH,uBAFW,KAAK,UAsCd;IAEF;;OAEG;IACH,gBASC;IAED;;OAEG;IACH,iBASC;IAED;;OAEG;IACH,kBASC;IAED;;;OAGG;IACH,YAFW,MAAM,QAiBhB;IAED;;;;;OAKG;IACH,0BAJW,KAAK,EAAE,GAAC,MAAM,EAAE,uCAEhB,MAAM,QA0BhB;IAED;;OAEG;IACH,eAqBC;IAED;;;;;;;OAOG;IACH,SANW,MAAM,WACN,MAAM,SACN,OAAO,YACP,OAAO,GACL,KAAK,CAMjB;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,WAAW,CAIvB;IAED;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,CAanB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,MAAM,CAclB;IAED;;;;;;OAMG;IACH,UALW,MAAM,WACN,MAAM,SACN,OAAO,GACL,KAAK,CASjB;IAED;;OAEG;IACH,gBAUC;IAJG,iBAA6C;IAMjD;;OAEG;IACH,kBASC;IAED;;OAEG;IACH,gBAgBC;IAUD;;OAEG;IACH,yBAcC;IAzBD;;;OAGG;IACH,oBAEC;IA6BD;;OAEG;IACH,0BAYC;IAvBD;;;OAGG;IACH,qBAEC;CAkBF;uBAresB,aAAa;yBADX,gBAAgB;sBAEnB,YAAY;4BACN,mBAAmB"}
1
+ {"version":3,"file":"sound_manager.d.ts","sourceRoot":"","sources":["../../../src/phaser/core/sound_manager.js"],"names":[],"mappings":"AAWA;IACE;;;OAGG;IACH,kBAFW,OAAO,WAAW,EAAE,IAAI,EAqBlC;IAlBC,+BAAgB;IAChB,iBAA4B;IAC5B,2BAA2B;IAC3B,SADW,YAAY,CACJ;IACnB,oBAAoB;IACpB,iBAAoB;IACpB,yBAA2B;IAC3B,kBAAqB;IACrB,qBAAuB;IACvB,oBAAuB;IACvB,gBAAmB;IACnB,mBAAyB;IACzB,gBAAgB;IAChB,eAAiB;IACjB,qBAAgC;IAChC,mBAAsB;IACtB,yBAA0B;IAC1B,mBAAyB;IAG3B;;OAEG;IACH,aAiDC;IAbG,gBAA+C;IAenD;;OAEG;IACH,kCAIE;IAEF;;OAEG;IACH,iCAME;IAEF;;OAEG;IACH,gCAUE;IAEF;;OAEG;IACH,8BASE;IAEF;;OAEG;IACH,iCASE;IAEF;;;OAGG;IACH,uBAFW,KAAK,UAsCd;IAEF;;OAEG;IACH,gBASC;IAED;;OAEG;IACH,iBASC;IAED;;OAEG;IACH,kBASC;IAED;;;OAGG;IACH,YAFW,MAAM,QAuBhB;IAED;;;;;OAKG;IACH,0BAJW,KAAK,EAAE,GAAC,MAAM,EAAE,uCAEhB,MAAM,QA0BhB;IAED;;OAEG;IACH,eAqBC;IAED;;;;;;;OAOG;IACH,SANW,MAAM,WACN,MAAM,SACN,OAAO,YACP,OAAO,GACL,KAAK,CAMjB;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,WAAW,CAIvB;IAED;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,CAanB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,MAAM,CAclB;IAED;;;;;;OAMG;IACH,UALW,MAAM,WACN,MAAM,SACN,OAAO,GACL,KAAK,CASjB;IAED;;OAEG;IACH,gBAUC;IAJG,iBAA6C;IAMjD;;OAEG;IACH,kBASC;IAED;;OAEG;IACH,gBAgBC;IAUD;;OAEG;IACH,yBAcC;IAzBD;;;OAGG;IACH,oBAEC;IA6BD;;OAEG;IACH,0BAYC;IAvBD;;;OAGG;IACH,qBAEC;CAkBF;uBA7esB,aAAa;yBADX,gBAAgB;sBAEnB,YAAY;4BACN,mBAAmB"}