Spaces:
Running
Running
import Phaser from 'phaser'; | |
import city from './city/city'; | |
import viewport from './world/viewport'; | |
import events from './world/events'; | |
import debug from './debug/debug'; | |
import palette from './import/palette'; | |
import artwork from './import/artwork'; | |
import * as CONST from './constants'; | |
import ui from './ui/gui'; | |
export default class world extends Phaser.Scene { | |
constructor () { | |
super({ key: 'world' }); | |
} | |
preload () { | |
this.sys.game.world = this; | |
// load binary game assets from original SC2K | |
this.load.binary(CONST.PAL_MSTR_BMP, CONST.ASSETS_PATH + CONST.FILE_PAL_MSTR_BMP); | |
this.load.binary(CONST.LARGE_DAT, CONST.ASSETS_PATH + CONST.FILE_LARGE_DAT); | |
// start import once files are loaded | |
this.load.once(CONST.E_LOAD_COMPLETE, () => { | |
this.palette = new palette({ scene: this }); | |
this.artwork = new artwork({ scene: this }); | |
this.tiles = this.artwork.tiles; | |
// initialize city | |
this.city = new city({ scene: this }); | |
}); | |
} | |
create () { | |
// load default city | |
this.city.load.loadDefaultCity().then(() => { | |
this.start(); | |
}); | |
//this.ui = new ui({ scene: this }); | |
this.viewport = new viewport({ scene: this }); | |
this._events = new events({ scene: this }); | |
this.debug = new debug({ scene: this }); | |
} | |
start () { | |
this.city.create(); | |
} | |
update (time, delta) { | |
this.viewport.update(delta); | |
this.city.update(); | |
} | |
shutdown () { | |
this.scene.destroy(); | |
} | |
} |