UNPKG

@ion-phaser/core

Version:

A web component to integrate Phaser Framework with Angular, React, Vue, etc

1 lines 922 B
import{r as t,g as s}from"./p-90378c45.js";const i=class{constructor(s){t(this,s),this.initialize=!0,this.initializeGame=(t=this.game)=>{if(null!=t){if(null!=t.instance)throw new Error("A Phaser game already exist");t.parent=t.parent||this.el,t.instance=new Phaser.Game(t)}}}onGameChange(t){this.initialize&&!this.hasInitialized()&&this.initializeGame(t)}onInitialize(t,s){t&&!s&&this.initializeGame()}async getInstance(){const{instance:t}=this.game||{};return Promise.resolve(t)}async destroy(){this.hasInitialized()&&(this.game.instance.destroy(!0),this.game.instance=null)}connectedCallback(){!this.hasInitialized()&&this.initialize&&this.initializeGame()}disconnectedCallback(){this.destroy()}hasInitialized(){return this.game&&null!=this.game.instance}get el(){return s(this)}static get watchers(){return{game:["onGameChange"],initialize:["onInitialize"]}}};i.style="ion-phaser{display:block}";export{i as ion_phaser}