| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- //
- // 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 MainFrame = require("./frames/MainFrame");
- import ModalOps = require("./modal/ModalOps");
- import Shortcuts = require("./Shortcuts");
- // this is designed with public get functions to solve
- // circular dependency issues in TS
- var editorUI:EditorUI;
- export function getMainFrame():MainFrame {
- return editorUI.mainframe;
- }
- export function getModelOps():ModalOps {
- return editorUI.modalOps;
- }
- export function getView():Atomic.UIView {
- return editorUI.view;
- }
- export function getShortcuts():Shortcuts {
- return editorUI.shortcuts;
- }
- export function initialize() {
- editorUI = new EditorUI();
- }
- export function shutdown() {
- editorUI.mainframe.shutdown();
- var view = editorUI.view;
- view.deleteAllChildren();
- view.parent.removeChild(view);
- }
- export function showModalError(windowText:string, message:string) {
- editorUI.showModalError(windowText, message);
- }
- export function getCurrentResourceEditor():Editor.ResourceEditor {
- return getMainFrame().resourceframe.currentResourceEditor;
- }
- class EditorUI extends Atomic.ScriptObject {
- constructor() {
- super();
- var graphics = Atomic.getGraphics();
- this.view = new Atomic.UIView();
- this.mainframe = new MainFrame();
- this.view.addChild(this.mainframe);
- this.subscribeToEvent("ScreenMode", (ev:Atomic.ScreenModeEvent) => {
- this.mainframe.setSize(ev.width, ev.height);
- });
- // set initial size
- this.mainframe.setSize(graphics.width, graphics.height);
- this.modalOps = new ModalOps();
- this.shortcuts = new Shortcuts();
- this.subscribeToEvent(EditorEvents.ModalError, (event:EditorEvents.ModalErrorEvent) => {
- this.showModalError(event.title, event.message);
- })
- }
- showModalError(windowText:string, message:string)
- {
- var window = new Atomic.UIMessageWindow(this.view, "modal_error");
- window.show(windowText, message, Atomic.UI_MESSAGEWINDOW_SETTINGS_OK, true, 640, 360);
- }
- view: Atomic.UIView;
- mainframe: MainFrame;
- modalOps: ModalOps;
- shortcuts: Shortcuts;
- }
|