43 lines
1.6 KiB
TypeScript
43 lines
1.6 KiB
TypeScript
import 'phaser';
|
|
import GameConfig = Phaser.Types.Core.GameConfig;
|
|
import {DEBUG_MODE, RESOLUTION} from "./Enum/EnvironmentVariable";
|
|
import {cypressAsserter} from "./Cypress/CypressAsserter";
|
|
import {LoginScene} from "./Phaser/Login/LoginScene";
|
|
import {ReconnectingScene} from "./Phaser/Reconnecting/ReconnectingScene";
|
|
import {gameManager} from "./Phaser/Game/GameManager";
|
|
import {SelectCharacterScene} from "./Phaser/Login/SelectCharacterScene";
|
|
import {EnableCameraScene} from "./Phaser/Login/EnableCameraScene";
|
|
import {FourOFourScene} from "./Phaser/Reconnecting/FourOFourScene";
|
|
import WebGLRenderer = Phaser.Renderer.WebGL.WebGLRenderer;
|
|
import {OutlinePipeline} from "./Phaser/Shaders/OutlinePipeline";
|
|
|
|
const config: GameConfig = {
|
|
title: "Office game",
|
|
width: window.innerWidth / RESOLUTION,
|
|
height: window.innerHeight / RESOLUTION,
|
|
parent: "game",
|
|
scene: [LoginScene, SelectCharacterScene, EnableCameraScene, ReconnectingScene, FourOFourScene],
|
|
zoom: RESOLUTION,
|
|
physics: {
|
|
default: "arcade",
|
|
arcade: {
|
|
debug: DEBUG_MODE
|
|
}
|
|
},
|
|
callbacks: {
|
|
postBoot: game => {
|
|
// FIXME: we should fore WebGL in the config.
|
|
const renderer = game.renderer as WebGLRenderer;
|
|
renderer.addPipeline(OutlinePipeline.KEY, new OutlinePipeline(game));
|
|
}
|
|
}
|
|
};
|
|
|
|
cypressAsserter.gameStarted();
|
|
|
|
const game = new Phaser.Game(config);
|
|
|
|
window.addEventListener('resize', function (event) {
|
|
game.scale.resize(window.innerWidth / RESOLUTION, window.innerHeight / RESOLUTION);
|
|
});
|