2025-02-10 18:10:02 +01:00

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.
}
}