| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- //
- // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
- // LICENSE: Atomic Game Engine Editor and Tools EULA
- // Please see LICENSE_ATOMIC_EDITOR_AND_TOOLS.md in repository root for
- // license information: https://github.com/AtomicGameEngine/AtomicGameEngine
- //
- import EditorEvents = require("../../editor/EditorEvents");
- import PlayerOutput = require("./PlayerOutput");
- class PlayMode extends Atomic.ScriptObject {
- inErrorState: boolean;
- constructor() {
- super();
- this.subscribeToEvent("IPCJSError", (ev: Atomic.IPCJSErrorEvent) => this.handleIPCJSError(ev));
- this.subscribeToEvent(EditorEvents.PlayerStarted, (ev) => this.handlePlayerStarted(ev));
- }
- handlePlayerStarted(ev) {
- this.inErrorState = false;
- new PlayerOutput();
- }
- handleIPCJSError(ev: Atomic.IPCJSErrorEvent) {
- if (this.inErrorState)
- return;
- this.inErrorState = true;
- var errorMessage = ev.errorFileName + " - " + ev.errorLineNumber + " : " + ev.errorMessage;
- this.sendEvent(EditorEvents.ModalError, { title: "Player JavaScript Error", message: errorMessage });
- Atomic.graphics.raiseWindow();
- }
- }
- export = PlayMode;
|