|
|
@@ -54,9 +54,11 @@ class Editor extends Atomic.ScriptObject {
|
|
|
});
|
|
|
|
|
|
this.subscribeToEvent("IPCPlayerWindowChanged", (data) => {
|
|
|
- Preferences.getInstance().savePlayerWindowData(data.posX, data.posY, data.width, data.height, data.monitor);
|
|
|
+ Preferences.getInstance().savePlayerWindowData({x: data.posX, y: data.posY, width: data.width, height: data.height, monitor: data.monitor, maximized: data.maximized});
|
|
|
});
|
|
|
|
|
|
+ this.subscribeToEvent("ScreenMode", (data:Atomic.ScreenModeEvent) => this.saveWindowPreferences(data));
|
|
|
+
|
|
|
this.subscribeToEvent("ExitRequested", (data) => this.handleExitRequested(data));
|
|
|
|
|
|
this.subscribeToEvent("ProjectLoaded", (data) => {
|
|
|
@@ -85,6 +87,28 @@ class Editor extends Atomic.ScriptObject {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ saveWindowPreferences(data: Atomic.ScreenModeEvent): boolean {
|
|
|
+ var graphics = Atomic.getGraphics();
|
|
|
+ if (!graphics) return false;
|
|
|
+
|
|
|
+ var pos = graphics.getWindowPosition();
|
|
|
+ var width = graphics.getWidth();
|
|
|
+ var height = graphics.getHeight();
|
|
|
+ var monitor = graphics.getCurrentMonitor();
|
|
|
+
|
|
|
+ var editorWindowData = Preferences.getInstance().editorWindow;
|
|
|
+
|
|
|
+ if (graphics.getMaximized()) {
|
|
|
+ editorWindowData.maximized = true;
|
|
|
+ } else {
|
|
|
+ editorWindowData = {x: pos[0], y: pos[1], width: width, height: height, monitor: monitor, maximized: false}
|
|
|
+ }
|
|
|
+
|
|
|
+ Preferences.getInstance().saveEditorWindowData(editorWindowData);
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
handleEditorLoadProject(event: EditorEvents.LoadProjectEvent): boolean {
|
|
|
|
|
|
var system = ToolCore.getToolSystem();
|
|
|
@@ -170,7 +194,7 @@ class Editor extends Atomic.ScriptObject {
|
|
|
}
|
|
|
|
|
|
exit() {
|
|
|
- Preferences.getInstance().write();
|
|
|
+ //Preferences.getInstance().write();
|
|
|
EditorUI.shutdown();
|
|
|
Atomic.getEngine().exit();
|
|
|
}
|