38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import GameAssets from '../classes/Assets';
|
|
import { Engine } from '../classes/Bastion';
|
|
import GuiObject from '../classes/GuiObject';
|
|
import * as PIXI from 'pixi.js';
|
|
|
|
export default class Scene {
|
|
public stage: PIXI.Container = new PIXI.Container();
|
|
public gui: GuiObject[] = [];
|
|
private _events: PIXI.EventEmitter = new PIXI.EventEmitter();
|
|
|
|
constructor() {
|
|
Engine.app.stage.addChild(this.stage);
|
|
}
|
|
public destroy() {
|
|
this.stage.destroy();
|
|
this._events.removeAllListeners();
|
|
this.gui.forEach((element) => {
|
|
element.destroy();
|
|
});
|
|
}
|
|
|
|
public addMainBackground() {
|
|
// Background
|
|
const sprite = new PIXI.Sprite(GameAssets.MainBackground);
|
|
sprite.width = Engine.app.canvas.width;
|
|
sprite.height = Engine.app.canvas.height;
|
|
this.stage.addChild(sprite);
|
|
}
|
|
|
|
public get events(): PIXI.EventEmitter {
|
|
return this._events;
|
|
}
|
|
|
|
public init() {
|
|
// Definitions for scene elements.
|
|
}
|
|
}
|