Last active
November 13, 2018 21:52
-
-
Save maxmonax/b465e419fe3e626c2e90272ad271989e to your computer and use it in GitHub Desktop.
Phaser post loader
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace LoadMng { | |
export class SceneLoader { | |
private static _instance: SceneLoader; | |
private game: Phaser.Game; | |
isSelectLoaded = false; | |
isGameLoaded = false; | |
isFinalLoaded = false; | |
isAnimFriendlyLoaded = false; | |
isAnimRealLoaded = false; | |
isAnimOrderLoaded = false; | |
isAnimExpLoaded = false; | |
isAnimBehaveLoaded = false; | |
isAnimBrokenLoaded = false; | |
private constructor(game) { | |
this.game = game; | |
} | |
public static getInstance(aGame: Phaser.Game): SceneLoader { | |
return this._instance || (this._instance = new SceneLoader(aGame)); | |
} | |
loadMain() { | |
var loader = new Phaser.Loader(this.game); | |
loader.atlasJSONArray('select', './assets/atlases/select.png', './assets/atlases/select.json'); | |
loader.onLoadComplete.addOnce(this.onSelectLoaded, this); | |
loader.start(); | |
} | |
private onSelectLoaded() { | |
LogMng.debug('LoadMng: loading complete!'); | |
this.isSelectLoaded = true; | |
var loader = new Phaser.Loader(this.game); | |
loader.atlasJSONArray('game', './assets/atlases/game.png', './assets/atlases/game.json'); | |
loader.bitmapFont('brl_fb_demi', './assets/fonts/brl_fb_demi.png', './assets/fonts/brl_fb_demi.xml'); | |
loader.onLoadComplete.addOnce(this.onGameLoaded, this); | |
loader.start(); | |
} | |
private onGameLoaded() { | |
this.isGameLoaded = true; | |
var loader = new Phaser.Loader(this.game); | |
loader.atlasJSONArray('final', './assets/atlases/final.png', './assets/atlases/final.json'); | |
loader.onLoadComplete.addOnce(this.onFinalLoaded, this); | |
loader.start(); | |
} | |
private onFinalLoaded() { | |
this.isFinalLoaded = true; | |
} | |
// ANIMS | |
loadAnimFriendly() { | |
if (this.isAnimFriendlyLoaded) return; | |
var loader = new Phaser.Loader(this.game); | |
loader.atlasJSONArray('anim-fr', './assets/atlases/anim-fr.png', './assets/atlases/anim-fr.json'); | |
loader.onLoadComplete.addOnce(this.onAnimFriendlyLoaded, this); | |
loader.start(); | |
} | |
private onAnimFriendlyLoaded() { | |
this.isAnimFriendlyLoaded = true; | |
} | |
loadAnimReal() { | |
if (this.isAnimRealLoaded) return; | |
var loader = new Phaser.Loader(this.game); | |
loader.atlasJSONArray('anim-real', './assets/atlases/anim-real.png', './assets/atlases/anim-real.json'); | |
loader.onLoadComplete.addOnce(this.onAnimRealLoaded, this); | |
loader.start(); | |
} | |
private onAnimRealLoaded() { | |
this.isAnimRealLoaded = true; | |
} | |
loadAnimOrder() { | |
if (this.isAnimOrderLoaded) return; | |
var loader = new Phaser.Loader(this.game); | |
loader.atlasJSONArray('anim-order', './assets/atlases/anim-order.png', './assets/atlases/anim-order.json'); | |
loader.onLoadComplete.addOnce(this.onAnimOrderLoaded, this); | |
loader.start(); | |
} | |
private onAnimOrderLoaded() { | |
this.isAnimOrderLoaded = true; | |
} | |
loadAnimExp() { | |
if (this.isAnimExpLoaded) return; | |
var loader = new Phaser.Loader(this.game); | |
loader.atlasJSONArray('anim-exp', './assets/atlases/anim-exp.png', './assets/atlases/anim-exp.json'); | |
loader.onLoadComplete.addOnce(this.onAnimExpLoaded, this); | |
loader.start(); | |
} | |
private onAnimExpLoaded() { | |
this.isAnimExpLoaded = true; | |
} | |
loadAnimBehave() { | |
if (this.isAnimBehaveLoaded) return; | |
var loader = new Phaser.Loader(this.game); | |
loader.atlasJSONArray('anim-beh', './assets/atlases/anim-beh.png', './assets/atlases/anim-beh.json'); | |
loader.onLoadComplete.addOnce(this.onAnimBehaveLoaded, this); | |
loader.start(); | |
} | |
private onAnimBehaveLoaded() { | |
this.isAnimBehaveLoaded = true; | |
} | |
loadAnimBroken() { | |
if (this.isAnimBrokenLoaded) return; | |
var loader = new Phaser.Loader(this.game); | |
loader.atlasJSONArray('anim-broken', './assets/atlases/anim-broken.png', './assets/atlases/anim-broken.json'); | |
loader.onLoadComplete.addOnce(this.onAnimBrokenLoaded, this); | |
loader.start(); | |
} | |
private onAnimBrokenLoaded() { | |
this.isAnimBrokenLoaded = true; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment