Browse Source

Converting the editor events to use the native versions of them.

Shaddock Heath 9 years ago
parent
commit
ac333177f3
47 changed files with 287 additions and 647 deletions
  1. 17 17
      Script/AtomicEditor/editor/Editor.ts
  2. 1 238
      Script/AtomicEditor/editor/EditorEvents.ts
  3. 18 19
      Script/AtomicEditor/hostExtensions/HostExtensionServices.ts
  4. 1 3
      Script/AtomicEditor/hostExtensions/coreExtensions/ProjectBasedExtensionLoader.ts
  5. 7 8
      Script/AtomicEditor/hostExtensions/languageExtensions/CSharpLanguageExtension.ts
  6. 13 16
      Script/AtomicEditor/hostExtensions/languageExtensions/TypescriptLanguageExtension.ts
  7. 1 1
      Script/AtomicEditor/main.ts
  8. 19 19
      Script/AtomicEditor/resources/ResourceOps.ts
  9. 4 5
      Script/AtomicEditor/ui/AnimationToolbar.ts
  10. 6 11
      Script/AtomicEditor/ui/EditorUI.ts
  11. 5 6
      Script/AtomicEditor/ui/MainToolbar.ts
  12. 4 5
      Script/AtomicEditor/ui/Shortcuts.ts
  13. 5 6
      Script/AtomicEditor/ui/frames/HierarchyFrame.ts
  14. 4 4
      Script/AtomicEditor/ui/frames/ProjectFrame.ts
  15. 16 16
      Script/AtomicEditor/ui/frames/ResourceFrame.ts
  16. 1 1
      Script/AtomicEditor/ui/frames/WelcomeFrame.ts
  17. 6 7
      Script/AtomicEditor/ui/frames/inspector/AttributeInfoEdit.ts
  18. 7 7
      Script/AtomicEditor/ui/frames/inspector/ColorChooser.ts
  19. 5 6
      Script/AtomicEditor/ui/frames/inspector/ComponentAttributeUI.ts
  20. 2 2
      Script/AtomicEditor/ui/frames/inspector/CreateComponentButton.ts
  21. 4 4
      Script/AtomicEditor/ui/frames/inspector/InspectorFrame.ts
  22. 2 3
      Script/AtomicEditor/ui/frames/inspector/MaterialInspector.ts
  23. 1 2
      Script/AtomicEditor/ui/frames/inspector/ModelInspector.ts
  24. 7 8
      Script/AtomicEditor/ui/frames/inspector/SelectionInspector.ts
  25. 4 4
      Script/AtomicEditor/ui/frames/inspector/SelectionPrefabWidget.ts
  26. 2 2
      Script/AtomicEditor/ui/frames/inspector/SerializableEditType.ts
  27. 0 1
      Script/AtomicEditor/ui/frames/inspector/TextureInspector.ts
  28. 6 7
      Script/AtomicEditor/ui/frames/menus/HierarchyFrameMenu.ts
  29. 6 6
      Script/AtomicEditor/ui/frames/menus/MainFrameMenu.ts
  30. 0 1
      Script/AtomicEditor/ui/frames/menus/MenuItemSources.ts
  31. 1 2
      Script/AtomicEditor/ui/frames/menus/ProjectFrameMenu.ts
  32. 1 2
      Script/AtomicEditor/ui/modal/CreateProject.ts
  33. 0 1
      Script/AtomicEditor/ui/modal/ResourceSelection.ts
  34. 7 8
      Script/AtomicEditor/ui/modal/UIResourceOps.ts
  35. 0 1
      Script/AtomicEditor/ui/modal/build/BuildSettingsWindow.ts
  36. 0 1
      Script/AtomicEditor/ui/modal/build/BuildWindow.ts
  37. 2 3
      Script/AtomicEditor/ui/modal/license/EULAWindow.ts
  38. 3 4
      Script/AtomicEditor/ui/playmode/PlayMode.ts
  39. 4 5
      Script/AtomicEditor/ui/resourceEditors/AbstractTextResourceEditorBuilder.ts
  40. 1 2
      Script/AtomicEditor/ui/resourceEditors/Scene3dResourceEditorBuilder.ts
  41. 9 9
      Script/AtomicWebViewEditor/clientExtensions/ClientExtensionServices.ts
  42. 2 2
      Script/AtomicWebViewEditor/clientExtensions/languageExtensions/javascript/JavascriptLanguageExtension.ts
  43. 3 3
      Script/AtomicWebViewEditor/clientExtensions/languageExtensions/turbobadger/TurboBadgerLanguageExtension.ts
  44. 9 9
      Script/AtomicWebViewEditor/clientExtensions/languageExtensions/typescript/TypescriptLanguageExtension.ts
  45. 3 3
      Script/AtomicWebViewEditor/clientExtensions/languageExtensions/typescript/workerprocess/workerProcessTypes.ts
  46. 4 4
      Script/AtomicWebViewEditor/editor/editorCommands.ts
  47. 64 153
      Script/TypeScript/EditorWork.d.ts

+ 17 - 17
Script/AtomicEditor/editor/Editor.ts

@@ -27,13 +27,13 @@ import EditorLicense = require("./EditorLicense");
 import EditorEvents = require("./EditorEvents");
 import Preferences = require("./Preferences");
 
-class Editor extends Atomic.ScriptObject {
+class AtomicEditor extends Atomic.ScriptObject {
 
     project: ToolCore.Project;
     editorLicense: EditorLicense;
     playMode: PlayMode;
 
-    static instance: Editor;
+    static instance: AtomicEditor;
 
     projectCloseRequested: boolean;
     exitRequested: boolean;
@@ -47,7 +47,7 @@ class Editor extends Atomic.ScriptObject {
 
         Atomic.getEngine().autoExit = false;
 
-        Editor.instance = this;
+        AtomicEditor.instance = this;
 
         Preferences.getInstance().read();
 
@@ -61,8 +61,8 @@ class Editor extends Atomic.ScriptObject {
 
         Atomic.getResourceCache().autoReloadResources = true;
 
-        this.subscribeToEvent(EditorEvents.LoadProjectEvent((data) => this.handleEditorLoadProject(data)));
-        this.subscribeToEvent(EditorEvents.CloseProjectEvent((data) => this.handleEditorCloseProject(data)));
+        this.subscribeToEvent(Editor.EditorLoadProjectEvent((data) => this.handleEditorLoadProject(data)));
+        this.subscribeToEvent(Editor.EditorCloseProjectEvent((data) => this.handleEditorCloseProject(data)));
         this.subscribeToEvent(EditorEvents.ProjectUnloadedNotificationEvent((data) => {
             Atomic.graphics.windowTitle = "AtomicEditor";
             this.handleProjectUnloaded(data);
@@ -92,12 +92,12 @@ class Editor extends Atomic.ScriptObject {
             Preferences.getInstance().registerRecentProject(data.projectPath);
         }));
 
-        this.subscribeToEvent(EditorEvents.EditorResourceCloseCanceledEvent((data) => {
+        this.subscribeToEvent(Editor.EditorResourceCloseCanceledEvent((data) => {
             //if user canceled closing the resource, then user has changes that he doesn't want to lose
             //so cancel exit/project close request and unsubscribe from event to avoid closing all the editors again
             this.exitRequested = false;
             this.projectCloseRequested = false;
-            this.unsubscribeFromEvent(EditorEvents.EditorResourceClose);
+            this.unsubscribeFromEvent(Editor.EditorResourceCloseEventType);
         }));
 
         this.parseArguments();
@@ -161,12 +161,12 @@ class Editor extends Atomic.ScriptObject {
     setUserPreference(extensionName: string, preferenceName: string, value: number | boolean | string) {
         Preferences.getInstance().setUserPreference(extensionName, preferenceName, value);
         WebView.WebBrowserHost.setGlobalStringProperty("HOST_Preferences", "ProjectPreferences", JSON.stringify(Preferences.getInstance().cachedProjectPreferences, null, 2 ));
-        const eventData: EditorEvents.UserPreferencesChangedEvent = {
+        const eventData: Editor.UserPreferencesChangedNotificationEvent = {
             projectPreferences: JSON.stringify(Preferences.getInstance().cachedProjectPreferences),
             applicationPreferences: JSON.stringify(Preferences.getInstance().cachedApplicationPreferences)
         };
 
-        this.sendEvent(EditorEvents.UserPreferencesChangedNotification, eventData);
+        this.sendEvent(Editor.UserPreferencesChangedNotificationEventType, eventData);
     }
 
     /**
@@ -179,12 +179,12 @@ class Editor extends Atomic.ScriptObject {
     setUserPreferenceGroup(settingsGroup: string, groupPreferenceValues: Object) {
         Preferences.getInstance().setUserPreferenceGroup(settingsGroup, groupPreferenceValues);
         WebView.WebBrowserHost.setGlobalStringProperty("HOST_Preferences", "ProjectPreferences", JSON.stringify(Preferences.getInstance().cachedProjectPreferences, null, 2 ));
-        const eventData: EditorEvents.UserPreferencesChangedEvent = {
+        const eventData: Editor.UserPreferencesChangedNotificationEvent = {
             projectPreferences: JSON.stringify(Preferences.getInstance().cachedProjectPreferences),
             applicationPreferences: JSON.stringify(Preferences.getInstance().cachedApplicationPreferences)
         };
 
-        this.sendEvent(EditorEvents.UserPreferencesChangedNotification, eventData);
+        this.sendEvent(Editor.UserPreferencesChangedNotificationEventType, eventData);
     }
 
     handleEditorLoadProject(event: EditorEvents.LoadProjectEvent): boolean {
@@ -219,7 +219,7 @@ class Editor extends Atomic.ScriptObject {
           return;
         }
         //wait when we close resource editor to check another resource editor for unsaved changes and close it
-        this.subscribeToEvent(EditorEvents.EditorResourceCloseEvent((data) => {
+        this.subscribeToEvent(Editor.EditorResourceCloseEvent((data) => {
             this.closeAllResourceEditors();
         }));
         editor.requestClose();
@@ -238,16 +238,16 @@ class Editor extends Atomic.ScriptObject {
         if (system.project) {
 
             system.closeProject();
-            this.sendEvent(EditorEvents.ProjectClosed);
+            this.sendEvent(Editor.EditorProjectClosedEventType);
             this.projectCloseRequested = false;
-            this.unsubscribeFromEvent(EditorEvents.EditorResourceClose);
+            this.unsubscribeFromEvent(Editor.EditorResourceCloseEventType);
         }
 
     }
 
     handleProjectUnloaded(event) {
 
-        this.sendEvent(EditorEvents.ActiveSceneEditorChange, { sceneEditor: null });
+        this.sendEvent(Editor.EditorActiveSceneEditorChangeEventType, { sceneEditor: null });
 
     }
 
@@ -261,7 +261,7 @@ class Editor extends Atomic.ScriptObject {
 
             if (args[idx] == "--project") {
 
-                this.sendEvent(EditorEvents.LoadProject, { path: args[idx + 1] });
+                this.sendEvent(Editor.EditorLoadProjectEventType, { path: args[idx + 1] });
 
             }
 
@@ -287,4 +287,4 @@ class Editor extends Atomic.ScriptObject {
 
 }
 
-export = Editor;
+export default AtomicEditor;

+ 1 - 238
Script/AtomicEditor/editor/EditorEvents.ts

@@ -20,39 +20,6 @@
 // THE SOFTWARE.
 //
 
-// TODO: migrate these interfaces out to the d.ts and migrate the static strings to some common location
-export const ModalError = "ModalError";
-export function ModalErrorEvent(callback: Atomic.EventCallback<ModalErrorEvent>) {
-    return Atomic.ScriptEvent(ModalError, callback);
-}
-export interface ModalErrorEvent extends Atomic.EventMetaData {
-
-  title: string;
-  message: string;
-
-}
-export const PlayerStartRequest = "EditorPlayRequest";
-export function PlayerStartRequestEvent(callback: Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(PlayerStartRequest, callback);
-}
-export const PlayerStarted = "EditorPlayerStarted";
-export function PlayerStartedEvent(callback: Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(PlayerStarted, callback);
-}
-
-export const PlayerStopped = "EditorPlayerStopped";
-export function PlayerStoppedEvent(callback: Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(PlayerStopped, callback);
-}
-
-export const PlayerPaused = "EditorPlayerPaused";
-export function PlayerPausedEvent(callback: Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(PlayerPaused, callback);
-}
-export const PlayerResumed = "EditorPlayerResumed";
-export function PlayerResumedEvent(callback: Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(PlayerPaused, callback);
-}
 export const PlayerLog = "EditorPlayerLog";
 export function PlayerLogEvent(callback: Atomic.EventCallback<PlayerLogEvent>) {
     return Atomic.ScriptEvent(PlayerLog, callback);
@@ -64,48 +31,8 @@ export interface PlayerLogEvent extends Atomic.EventMetaData {
 
 }
 
-
-export const ActiveSceneEditorChange = "EditorActiveSceneEditorChange";
-export function ActiveSceneEditorChangeEvent(callback: Atomic.EventCallback<ActiveSceneEditorChangeEvent>) {
-    return Atomic.ScriptEvent(ActiveSceneEditorChange, callback);
-}
-export interface ActiveSceneEditorChangeEvent extends Atomic.EventMetaData {
-
-  sceneEditor: Editor.SceneEditor3D;
-
-}
-
-
-export const SceneClosed = "EditorSceneClosed";
-export function SceneClosedEvent(callback: Atomic.EventCallback<SceneClosedEvent>) {
-    return Atomic.ScriptEvent(SceneClosed, callback);
-}
-export interface SceneClosedEvent extends Atomic.EventMetaData {
-
-  scene: Atomic.Scene;
-
-}
-
-export const ContentFolderChanged = "ContentFolderChanged";
-export function ContentFolderChangedEvent(callback: Atomic.EventCallback<ContentFolderChangedEvent>) {
-    return Atomic.ScriptEvent(ContentFolderChanged, callback);
-}
-export interface ContentFolderChangedEvent extends Atomic.EventMetaData {
-
-  path: string;
-
-}
-
-export const CloseProject = "EditorCloseProject";
-export function CloseProjectEvent(callback: Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(CloseProject, callback);
-}
-export const ProjectClosed = "EditorProjectClosed";
-export function ProjectClosedEvent(callback: Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(ProjectClosed, callback);
-}
 export const ProjectUnloadedNotification = "ProjectUnloadedNotification";
-export function ProjectUnloadedNotificationEvent(callback: Atomic.EventCallback<null>){
+export function ProjectUnloadedNotificationEvent(callback: Atomic.EventCallback<null>) {
     return Atomic.ScriptEvent(ProjectUnloadedNotification, callback);
 }
 
@@ -125,10 +52,6 @@ export function ProjectLoadedEvent(callback: Atomic.EventCallback<null>) {
     return Atomic.ScriptEvent(ProjectLoaded, callback);
 }
 
-export const LoadProject = "EditorLoadProject";
-export function LoadProjectEvent(callback: Atomic.EventCallback<LoadProjectEvent>) {
-    return Atomic.ScriptEvent(LoadProject, callback);
-}
 export const LoadProjectNotification = "EditorLoadProjectNotification";
 export function LoadProjectNotificationEvent(callback: Atomic.EventCallback<LoadProjectEvent>) {
     return Atomic.ScriptEvent(LoadProjectNotification, callback);
@@ -139,163 +62,3 @@ export interface LoadProjectEvent extends Atomic.EventMetaData {
   path: string;
 
 }
-
-export const SaveAllResources = "EditorSaveAllResources";
-export function SaveAllResourcesEvent(callback: Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(SaveAllResources, callback);
-}
-
-export const SaveResource = "EditorSaveResource";
-export function SaveResourceEvent(callback: Atomic.EventCallback<SaveResourceEvent>) {
-    return Atomic.ScriptEvent(SaveResource, callback);
-}
-/**
- * Called once the resource has been saved
- * @type {String}
- */
-export const SaveResourceNotification = "EditorSaveResourceNotification";
-export function SaveResourceNotificationEvent(callback: Atomic.EventCallback<SaveResourceEvent>) {
-    return Atomic.ScriptEvent(SaveResourceNotification, callback);
-}
-export interface SaveResourceEvent extends Atomic.EventMetaData {
-
-  // The full path to the resource to save / empty or undefined for current
-  path: string;
-
-}
-
-export const EditorResourceCloseCanceled = "EditorResourceCloseCanceled";
-export function EditorResourceCloseCanceledEvent(callback: Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(EditorResourceCloseCanceled, callback);
-}
-
-export const EditorResourceClose = "EditorResourceClose";
-export function EditorResourceCloseEvent(callback: Atomic.EventCallback<EditorCloseResourceEvent>) {
-    return Atomic.ScriptEvent(EditorResourceClose, callback);
-}
-export interface EditorCloseResourceEvent extends Atomic.EventMetaData {
-
-  editor:Editor.ResourceEditor;
-  navigateToAvailableResource:boolean;
-
-}
-
-export const EditResource = "EditorEditResource";
-export function EditResourceEvent(callback: Atomic.EventCallback<EditResourceEvent>) {
-    return Atomic.ScriptEvent(EditResource, callback);
-}
-export interface EditResourceEvent extends Atomic.EventMetaData {
-
-  // The full path to the resource to edit
-  path: string;
-
-}
-
-export const DeleteResource = "EditorDeleteResource";
-/**
- * Called once the resource has been deleted
- * @type {String}
- */
-export const DeleteResourceNotification = "DeleteResourceNotification";
-export function DeleteResourceNotificationEvent(callback: Atomic.EventCallback<DeleteResourceEvent>) {
-    return Atomic.ScriptEvent(DeleteResourceNotification, callback);
-}
-export interface DeleteResourceEvent extends Atomic.EventMetaData {
-
-  // The full path to the resource to edit
-  path: string;
-
-}
-
-export const RenameResource = "EditorRenameResource";
-/**
- * Called once the resource has been renamed
- * @type {String}
- */
-export const RenameResourceNotification = "RenameResourceNotification";
-export function RenameResourceNotificationEvent(callback: Atomic.EventCallback<RenameResourceEvent>) {
-    return Atomic.ScriptEvent(RenameResourceNotification, callback);
-}
-export interface RenameResourceEvent extends Atomic.EventMetaData {
-
-  // The full path to the resource to edit
-  path: string;
-  newPath: string;
-  newName: string;
-
-  // the asset to delete
-  asset: ToolCore.Asset;
-}
-
-export const SceneEditStateChange = "SceneEditStateChange";
-export interface SceneEditStateChangeEvent {
-
-  serializable: Atomic.Serializable;
-
-}
-
-export const InspectorProjectReference = "InspectorProjectReference";
-export function InspectorProjectReferenceEvent(callback : Atomic.EventCallback<InspectorProjectReferenceEvent>) {
-    return Atomic.ScriptEvent(InspectorProjectReference, callback);
-}
-export interface InspectorProjectReferenceEvent extends Atomic.EventMetaData {
-
-    // The full path to the resource to edit
-    path: string;
-
-}
-
-export const UserPreferencesChangedNotification  = "UserPreferencesChangedNotification";
-export function UserPreferencesChangedNotificationEvent(callback : Atomic.EventCallback<UserPreferencesChangedEvent>) {
-    return Atomic.ScriptEvent(UserPreferencesChangedNotification, callback);
-}
-export interface UserPreferencesChangedEvent extends Atomic.EventMetaData {
-    /**
-     * JSON string of the project preferences
-     */
-    projectPreferences: string;
-
-    /**
-     * JSON string of the application preferences
-     */
-    applicationPreferences: string;
-}
-
-export const WebViewLoadEnd = "WebViewLoadEnd";
-export function WebViewLoadEndEvent(callback : Atomic.EventCallback<null>) {
-    return Atomic.ScriptEvent(WebViewLoadEnd, callback);
-}
-export const WebMessage = "WebMessage";
-export function WebMessageEvent(callback: Atomic.EventCallback<WebMessageEvent>) {
-    return Atomic.ScriptEvent(WebMessage, callback);
-}
-export interface WebMessageEvent extends Atomic.EventMetaData {
-    /**
-     * Could be either a JSON formatted object or a simple string
-     * @type {string}
-     */
-    request: string;
-}
-
-// interface to pass modal error messages from core modules
-export const EditorModal = "EditorModal";
-export function EditorModalEvent(callback: Atomic.EventCallback<EditorModalEvent>) {
-    return Atomic.ScriptEvent(EditorModal, callback);
-}
-export interface EditorModalEvent extends Atomic.EventMetaData {
-    uiType: number;     // EDITOR_ERROR_MODAL, etc)
-    title: string;      // for modal errors, title text
-    message: string;    // for modal errors, error text
-}
-
-export const AttributeEditResourceChangedEventName = "AttributeEditResourceChanged";
-export function AttributeEditResourceChangedEvent(callback: Atomic.EventCallback<AttributeEditResourceChangedEvent>) {
-    return Atomic.ScriptEvent(AttributeEditResourceChangedEventName, callback);
-}
-
-export interface AttributeEditResourceChangedEvent extends Atomic.EventMetaData {
-
-    //attrInfoEdit: AttributeInfoEdit;
-    resource: Atomic.Resource;
-
-}

+ 18 - 19
Script/AtomicEditor/hostExtensions/HostExtensionServices.ts

@@ -26,7 +26,6 @@ import MainFrame = require("../ui/frames/MainFrame");
 import InspectorFrame = require("../ui/frames/inspector/InspectorFrame");
 import ModalOps = require("../ui/modal/ModalOps");
 import ResourceOps = require("../resources/ResourceOps");
-import Editor = require("../editor/Editor");
 
 /**
  * Generic registry for storing Editor Extension Services
@@ -72,8 +71,8 @@ export class ProjectServicesProvider extends ServicesProvider<Editor.HostExtensi
      */
     subscribeToEvents(eventDispatcher: Editor.Extensions.EventDispatcher) {
         eventDispatcher.subscribeToEvent(EditorEvents.LoadProjectNotificationEvent((ev) => this.projectLoaded(ev)));
-        eventDispatcher.subscribeToEvent(EditorEvents.CloseProjectEvent((ev) => this.projectUnloaded(ev)));
-        eventDispatcher.subscribeToEvent(EditorEvents.PlayerStartRequestEvent(() => this.playerStarted()));
+        eventDispatcher.subscribeToEvent(Editor.EditorCloseProjectEvent((ev) => this.projectUnloaded(ev)));
+        eventDispatcher.subscribeToEvent(Editor.EditorPlayRequestEvent(() => this.playerStarted()));
     }
 
     /**
@@ -99,7 +98,7 @@ export class ProjectServicesProvider extends ServicesProvider<Editor.HostExtensi
      * Called when the project is loaded
      * @param  {[type]} data Event info from the project unloaded event
      */
-    projectLoaded(ev: Editor.EditorEvents.LoadProjectEvent) {
+    projectLoaded(ev: Editor.EditorLoadProjectEvent) {
         // Need to use a for loop and don't cache the length because the list of services *may* change while processing.  Extensions could be appended to the end
         for (let i = 0; i < this.registeredServices.length; i++) {
             let service = this.registeredServices[i];
@@ -177,10 +176,10 @@ export class ResourceServicesProvider extends ServicesProvider<Editor.HostExtens
      * @param  {Atomic.UIWidget} topLevelWindow The top level window that will be receiving these events
      */
     subscribeToEvents(eventDispatcher: Editor.Extensions.EventDispatcher) {
-        eventDispatcher.subscribeToEvent(EditorEvents.SaveResourceNotificationEvent((ev) => this.saveResource(ev)));
-        eventDispatcher.subscribeToEvent(EditorEvents.DeleteResourceNotificationEvent((ev) => this.deleteResource(ev)));
-        eventDispatcher.subscribeToEvent(EditorEvents.RenameResourceNotificationEvent((ev) => this.renameResource(ev)));
-        eventDispatcher.subscribeToEvent(EditorEvents.EditResourceEvent((ev) => this.editResource(ev)));
+        eventDispatcher.subscribeToEvent(Editor.EditorSaveResourceNotificationEvent((ev) => this.saveResource(ev)));
+        eventDispatcher.subscribeToEvent(Editor.EditorDeleteResourceNotificationEvent((ev) => this.deleteResource(ev)));
+        eventDispatcher.subscribeToEvent(Editor.EditorRenameResourceNotificationEvent((ev) => this.renameResource(ev)));
+        eventDispatcher.subscribeToEvent(Editor.EditorEditResourceEvent((ev) => this.editResource(ev)));
 
     }
 
@@ -188,7 +187,7 @@ export class ResourceServicesProvider extends ServicesProvider<Editor.HostExtens
      * Called after a resource has been saved
      * @param  {Editor.EditorEvents.SaveResourceEvent} ev
      */
-    saveResource(ev: Editor.EditorEvents.SaveResourceEvent) {
+    saveResource(ev: Editor.EditorSaveResourceEvent) {
         // run through and find any services that can handle this.
         this.registeredServices.forEach((service) => {
             try {
@@ -205,7 +204,7 @@ export class ResourceServicesProvider extends ServicesProvider<Editor.HostExtens
     /**
      * Called when a resource has been deleted
      */
-    deleteResource(ev: Editor.EditorEvents.DeleteResourceEvent) {
+    deleteResource(ev: Editor.EditorDeleteResourceEvent) {
         this.registeredServices.forEach((service) => {
             try {
                 // Verify that the service contains the appropriate methods and that it can delete
@@ -220,9 +219,9 @@ export class ResourceServicesProvider extends ServicesProvider<Editor.HostExtens
 
     /**
      * Called when a resource has been renamed
-     * @param  {Editor.EditorEvents.RenameResourceEvent} ev
+     * @param  ev
      */
-    renameResource(ev: Editor.EditorEvents.RenameResourceEvent) {
+    renameResource(ev: Editor.EditorRenameResourceNotificationEvent) {
         this.registeredServices.forEach((service) => {
             try {
                 // Verify that the service contains the appropriate methods and that it can handle the rename
@@ -239,7 +238,7 @@ export class ResourceServicesProvider extends ServicesProvider<Editor.HostExtens
      * Called when a resource is about to be edited
      * @param  {Editor.EditorEvents.EditResourceEvent} ev
      */
-    editResource(ev: Editor.EditorEvents.EditResourceEvent) {
+    editResource(ev: Editor.EditorEditResourceEvent) {
         this.registeredServices.forEach((service) => {
             try {
                 // Verify that the service contains the appropriate methods and that it can handle the edit
@@ -277,15 +276,15 @@ export class SceneServicesProvider extends ServicesProvider<Editor.HostExtension
      * @param  {Atomic.UIWidget} topLevelWindow The top level window that will be receiving these events
      */
     subscribeToEvents(eventDispatcher: Editor.Extensions.EventDispatcher) {
-        eventDispatcher.subscribeToEvent(EditorEvents.ActiveSceneEditorChangeEvent((ev) => this.activeSceneEditorChange(ev)));
-        eventDispatcher.subscribeToEvent(EditorEvents.SceneClosedEvent((ev) => this.sceneClosed(ev)));
+        eventDispatcher.subscribeToEvent(Editor.EditorActiveSceneEditorChangeEvent((ev) => this.activeSceneEditorChange(ev)));
+        eventDispatcher.subscribeToEvent(Editor.EditorSceneClosedEvent((ev) => this.sceneClosed(ev)));
     }
 
     /**
      * Called after an active scene editor change
      * @param  {Editor.EditorEvents.ActiveSceneEditorChangeEvent} ev
      */
-    activeSceneEditorChange(ev: Editor.EditorEvents.ActiveSceneEditorChangeEvent) {
+    activeSceneEditorChange(ev: Editor.EditorActiveSceneEditorChangeEvent) {
         // run through and find any services that can handle this.
         this.registeredServices.forEach((service) => {
             try {
@@ -303,7 +302,7 @@ export class SceneServicesProvider extends ServicesProvider<Editor.HostExtension
      * Called after a scene is closed
      * @param  {Editor.EditorEvents.SceneClosedEvent} ev
      */
-    sceneClosed(ev: Editor.EditorEvents.SceneClosedEvent) {
+    sceneClosed(ev: Editor.EditorSceneClosedEvent) {
         // run through and find any services that can handle this.
         this.registeredServices.forEach((service) => {
             try {
@@ -567,7 +566,7 @@ export class UIServicesProvider extends ServicesProvider<Editor.HostExtensions.U
      * Hooks into web messages coming in from web views
      * @param  {[String|Object]} data
      */
-    handleWebMessage(data: EditorEvents.WebMessageEvent) {
+    handleWebMessage(data: WebView.WebMessageEvent) {
         let messageType;
         let messageObject;
 
@@ -598,6 +597,6 @@ export class UIServicesProvider extends ServicesProvider<Editor.HostExtensions.U
      */
     subscribeToEvents(eventDispatcher: Editor.Extensions.EventDispatcher) {
         // Placeholder for when UI events published by the editor need to be listened for
-        eventDispatcher.subscribeToEvent(EditorEvents.WebMessageEvent((ev) => this.handleWebMessage(ev)));
+        eventDispatcher.subscribeToEvent(WebView.WebMessageEvent((ev) => this.handleWebMessage(ev)));
     }
 }

+ 1 - 3
Script/AtomicEditor/hostExtensions/coreExtensions/ProjectBasedExtensionLoader.ts

@@ -22,8 +22,6 @@
 
 /// <reference path="../../../TypeScript/duktape.d.ts" />
 
-import * as EditorEvents from "../../editor/EditorEvents";
-
 /**
  * Resource extension that supports the web view typescript extension
  */
@@ -97,7 +95,7 @@ export default class ProjectBasedExtensionLoader implements Editor.HostExtension
      * Called when the project is being loaded to allow the typescript language service to reset and
      * possibly compile
      */
-    projectLoaded(ev: Editor.EditorEvents.LoadProjectEvent) {
+    projectLoaded(ev: Editor.EditorLoadProjectEvent) {
         // got a load, we need to reset the language service
         console.log(`${this.name}: received a project loaded event for project at ${ev.path}`);
         let system = ToolCore.getToolSystem();

+ 7 - 8
Script/AtomicEditor/hostExtensions/languageExtensions/CSharpLanguageExtension.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import * as EditorEvents from "../../editor/EditorEvents";
 import EditorUI = require("ui/EditorUI");
 
 /**
@@ -95,7 +94,7 @@ export default class CSharpLanguageExtension implements Editor.HostExtensions.Re
     * This could be when someone adds a CS or assembly file to a vanilla project
     * @param  {Editor.EditorEvents.EditResourceEvent} ev
     */
-    edit(ev: Editor.EditorEvents.EditResourceEvent) {
+    edit(ev: Editor.EditorEditResourceEvent) {
         if (this.isValidFiletype(ev.path)) {
 
             if (this.isNETProject) {
@@ -106,17 +105,17 @@ export default class CSharpLanguageExtension implements Editor.HostExtensions.Re
 
     /**
     * Handle the delete.  This should delete the corresponding javascript file
-    * @param  {Editor.EditorEvents.DeleteResourceEvent} ev
+    * @param  {Editor.EditorDeleteResourceEvent} ev
     */
-    delete(ev: Editor.EditorEvents.DeleteResourceEvent) {
+    delete(ev: Editor.EditorDeleteResourceEvent) {
 
     }
 
     /**
     * Handle the rename.  Should rename the corresponding .js file
-    * @param  {Editor.EditorEvents.RenameResourceEvent} ev
+    * @param  {Editor.EditorRenameResourceNotificationEvent} ev
     */
-    rename(ev: Editor.EditorEvents.RenameResourceEvent) {
+    rename(ev: Editor.EditorRenameResourceNotificationEvent) {
 
     }
 
@@ -125,7 +124,7 @@ export default class CSharpLanguageExtension implements Editor.HostExtensions.Re
     * @param  {Editor.EditorEvents.SaveResourceEvent} ev
     * @return {[type]}
     */
-    save(ev: Editor.EditorEvents.SaveResourceEvent) {
+    save(ev: Editor.EditorSaveResourceEvent) {
 
         if (Atomic.getExtension(ev.path) != ".cs") {
             return;
@@ -144,7 +143,7 @@ export default class CSharpLanguageExtension implements Editor.HostExtensions.Re
     * Called when the project is being loaded to allow the typescript language service to reset and
     * possibly compile
     */
-    projectLoaded(ev: Editor.EditorEvents.LoadProjectEvent) {
+    projectLoaded(ev: Editor.EditorLoadProjectEvent) {
         // got a load, we need to reset the language service
         this.isNETProject = false;
 

+ 13 - 16
Script/AtomicEditor/hostExtensions/languageExtensions/TypescriptLanguageExtension.ts

@@ -20,8 +20,6 @@
 // THE SOFTWARE.
 //
 
-import * as EditorEvents from "../../editor/EditorEvents";
-
 /**
  * Default compiler options to use for compilation.  If there
  * is a compiler option block in a tsconfig.json located in the project,
@@ -199,9 +197,9 @@ export default class TypescriptLanguageExtension implements Editor.HostExtension
     /**
      * Handle when a new file is loaded and we have not yet configured the editor for TS.
      * This could be when someone adds a TS file to a vanilla project
-     * @param  {Editor.EditorEvents.EditResourceEvent} ev
+     * @param  {Editor.EditorEditResourceEvent} ev
      */
-    edit(ev: Editor.EditorEvents.EditResourceEvent) {
+    edit(ev: Editor.EditorEditResourceEvent) {
         if (this.isValidFiletype(ev.path)) {
             // update ts config in case we have a new resource
             let tsConfig = this.buildTsConfig();
@@ -215,9 +213,9 @@ export default class TypescriptLanguageExtension implements Editor.HostExtension
 
     /**
      * Handle the delete.  This should delete the corresponding javascript file
-     * @param  {Editor.EditorEvents.DeleteResourceEvent} ev
+     * @param  {Editor.EditorDeleteResourceEvent} ev
      */
-    delete(ev: Editor.EditorEvents.DeleteResourceEvent) {
+    delete(ev: Editor.EditorDeleteResourceEvent) {
         if (this.isValidFiletype(ev.path)) {
             // console.log(`${this.name}: received a delete resource event`);
 
@@ -228,21 +226,21 @@ export default class TypescriptLanguageExtension implements Editor.HostExtension
                 console.log(`${this.name}: deleting corresponding .js file`);
                 ToolCore.assetDatabase.deleteAsset(jsFileAsset);
 
-                let eventData: EditorEvents.DeleteResourceEvent = {
+                let eventData: Editor.EditorDeleteResourceEvent = {
                     path: jsFile
                 };
 
                 this.setTsConfigOnWebView(this.buildTsConfig());
-                this.serviceRegistry.sendEvent(EditorEvents.DeleteResourceNotification, eventData);
+                this.serviceRegistry.sendEvent(Editor.EditorDeleteResourceNotificationEventType, eventData);
             }
         }
     }
 
     /**
      * Handle the rename.  Should rename the corresponding .js file
-     * @param  {Editor.EditorEvents.RenameResourceEvent} ev
+     * @param  {Editor.EditorRenameResourceNotificationEvent} ev
      */
-    rename(ev: Editor.EditorEvents.RenameResourceEvent) {
+    rename(ev: Editor.EditorRenameResourceNotificationEvent) {
         if (this.isValidFiletype(ev.path)) {
             // console.log(`${this.name}: received a rename resource event`);
 
@@ -254,7 +252,7 @@ export default class TypescriptLanguageExtension implements Editor.HostExtension
                 console.log(`${this.name}: renaming corresponding .js file`);
                 jsFileAsset.rename(ev.newName);
 
-                let eventData: EditorEvents.RenameResourceEvent = {
+                let eventData: Editor.EditorRenameResourceNotificationEvent = {
                     path: jsFile,
                     newPath: jsFileNew,
                     newName: ev.newName,
@@ -262,17 +260,16 @@ export default class TypescriptLanguageExtension implements Editor.HostExtension
                 };
 
                 this.setTsConfigOnWebView(this.buildTsConfig());
-                this.serviceRegistry.sendEvent(EditorEvents.RenameResourceNotification, eventData);
+                this.serviceRegistry.sendEvent(Editor.EditorRenameResourceNotificationEventType, eventData);
             }
         }
     }
 
     /**
      * Handles the save event and detects if a typescript file has been added to a non-typescript project
-     * @param  {Editor.EditorEvents.SaveResourceEvent} ev
-     * @return {[type]}
+     * @param  ev
      */
-    save(ev: Editor.EditorEvents.SaveResourceEvent) {
+    save(ev: Editor.EditorSaveResourceEvent) {
         // let's check to see if we have created a typescript file
         if (!this.isTypescriptProject) {
             if (Atomic.getExtension(ev.path) == ".ts") {
@@ -288,7 +285,7 @@ export default class TypescriptLanguageExtension implements Editor.HostExtension
      * Called when the project is being loaded to allow the typescript language service to reset and
      * possibly compile
      */
-    projectLoaded(ev: Editor.EditorEvents.LoadProjectEvent) {
+    projectLoaded(ev: Editor.EditorLoadProjectEvent) {
         // got a load, we need to reset the language service
         this.isTypescriptProject = false;
         //scan all the files in the project for any typescript files so we can determine if this is a typescript project

+ 1 - 1
Script/AtomicEditor/main.ts

@@ -25,7 +25,7 @@
 /// <reference path="../TypeScript/Editor.d.ts" />
 /// <reference path="../TypeScript/AtomicWork.d.ts" />
 
-import Editor = require("editor/Editor");
+import Editor from "editor/Editor";
 
 class Main {
 

+ 19 - 19
Script/AtomicEditor/resources/ResourceOps.ts

@@ -32,7 +32,7 @@ class ResourceOps extends Atomic.ScriptObject {
 
         this.subscribeToEvent(ToolCore.AssetImportErrorEvent((ev: ToolCore.AssetImportErrorEvent) => {
 
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: "Asset Import Error", message: ev.error });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: "Asset Import Error", message: ev.error });
 
         }));
 
@@ -45,7 +45,7 @@ class ResourceOps extends Atomic.ScriptObject {
         var fs = Atomic.fileSystem;
         var projectPath = Atomic.addTrailingSlash(Atomic.getPath(ev.path));
 
-        var openProject = () => this.sendEvent(EditorEvents.LoadProject, { path: ev.path });
+        var openProject = () => this.sendEvent(Editor.EditorLoadProjectEventType, { path: ev.path });
 
         // Check whether there is a cache folder, if so, this project has been loaded before
         if (Atomic.fileSystem.dirExists(projectPath + "Cache")) {
@@ -116,7 +116,7 @@ export function CreateNewFolder(resourcePath: string, reportError: boolean = tru
 
     if (fs.dirExists(resourcePath) || fs.fileExists(resourcePath)) {
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Already exists: " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Already exists: " + resourcePath });
         return false;
 
     }
@@ -124,7 +124,7 @@ export function CreateNewFolder(resourcePath: string, reportError: boolean = tru
     if (!fs.createDir(resourcePath)) {
 
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Could not create " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Could not create " + resourcePath });
 
         return false;
     }
@@ -144,7 +144,7 @@ export function CreateNewComponent(resourcePath: string, componentName: string,
 
     if (fs.dirExists(resourcePath) || fs.fileExists(resourcePath)) {
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Already exists: " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Already exists: " + resourcePath });
         return false;
 
     }
@@ -155,7 +155,7 @@ export function CreateNewComponent(resourcePath: string, componentName: string,
     if (!file) {
 
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed to open template: " + templateFilename });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed to open template: " + templateFilename });
         return false;
 
     }
@@ -166,7 +166,7 @@ export function CreateNewComponent(resourcePath: string, componentName: string,
 
     if (!success) {
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed template copy: " + templateFilename + " -> " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed template copy: " + templateFilename + " -> " + resourcePath });
         return false;
     }
 
@@ -184,7 +184,7 @@ export function CreateNewScript(resourcePath: string, scriptName: string, templa
 
     if (fs.dirExists(resourcePath) || fs.fileExists(resourcePath)) {
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Already exists: " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Already exists: " + resourcePath });
         return false;
 
     }
@@ -195,7 +195,7 @@ export function CreateNewScript(resourcePath: string, scriptName: string, templa
     if (!file) {
 
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed to open template: " + templateFilename });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed to open template: " + templateFilename });
         return false;
 
     }
@@ -206,7 +206,7 @@ export function CreateNewScript(resourcePath: string, scriptName: string, templa
 
     if (!success) {
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed template copy: " + templateFilename + " -> " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed template copy: " + templateFilename + " -> " + resourcePath });
         return false;
     }
 
@@ -224,7 +224,7 @@ export function CreateNewScene(resourcePath: string, sceneName: string, reportEr
 
     if (fs.dirExists(resourcePath) || fs.fileExists(resourcePath)) {
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Already exists: " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Already exists: " + resourcePath });
         return false;
 
     }
@@ -235,7 +235,7 @@ export function CreateNewScene(resourcePath: string, sceneName: string, reportEr
     if (!file) {
 
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed to open template: " + templateFilename });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed to open template: " + templateFilename });
         return false;
 
     }
@@ -246,7 +246,7 @@ export function CreateNewScene(resourcePath: string, sceneName: string, reportEr
 
     if (!success) {
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed template copy: " + templateFilename + " -> " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed template copy: " + templateFilename + " -> " + resourcePath });
         return false;
     }
 
@@ -264,7 +264,7 @@ export function CreateNewMaterial(resourcePath: string, materialName: string, re
 
     if (fs.dirExists(resourcePath) || fs.fileExists(resourcePath)) {
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Already exists: " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Already exists: " + resourcePath });
         return false;
 
     }
@@ -275,7 +275,7 @@ export function CreateNewMaterial(resourcePath: string, materialName: string, re
     if (!file) {
 
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed to open template: " + templateFilename });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed to open template: " + templateFilename });
         return false;
 
     }
@@ -286,7 +286,7 @@ export function CreateNewMaterial(resourcePath: string, materialName: string, re
 
     if (!success) {
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed template copy: " + templateFilename + " -> " + resourcePath });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed template copy: " + templateFilename + " -> " + resourcePath });
         return false;
     }
 
@@ -308,7 +308,7 @@ export function CreateNewAnimationPreviewScene(reportError: boolean = true): boo
     if (!templateFile) {
 
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed to open template scene: " + templateFile });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed to open template scene: " + templateFile });
         return false;
 
     }
@@ -319,7 +319,7 @@ export function CreateNewAnimationPreviewScene(reportError: boolean = true): boo
     if (!animFile) {
 
         if (reportError)
-            resourceOps.sendEvent(EditorEvents.ModalError, { title: title, message: "Failed to open animation viewer: " + animFilename });
+            resourceOps.sendEvent(Editor.EditorModalEventType, { title: title, message: "Failed to open animation viewer: " + animFilename });
         return false;
 
     }
@@ -327,7 +327,7 @@ export function CreateNewAnimationPreviewScene(reportError: boolean = true): boo
     //Reset the animation viewer scene to a blank scene
     animFile = templateFile;
 
-    resourceOps.sendEvent(EditorEvents.EditResource, { path: animFilename });
+    resourceOps.sendEvent(Editor.EditorEditResourceEventType, { path: animFilename });
 
     return true;
 

+ 4 - 5
Script/AtomicEditor/ui/AnimationToolbar.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("editor/EditorEvents");
 import EditorUI = require("ui/EditorUI");
 import HierarchyFrame = require("ui/frames/HierarchyFrame");
 import InspectorUtils = require("ui/frames/inspector/InspectorUtils");
@@ -39,8 +38,8 @@ class AnimationToolbar extends Atomic.UIWidget {
         this.rightAnimContainer = <Atomic.UILayout>this.getWidget("rightanimcontainer");
 
         this.subscribeToEvent(this, Atomic.UIWidgetEvent((ev) => this.handleWidgetEvent(ev)));
-        this.subscribeToEvent(EditorEvents.ActiveSceneEditorChangeEvent((data) => this.handleActiveSceneEditorChanged(data)));
-        this.subscribeToEvent(EditorEvents.SceneClosedEvent((data) => this.handleSceneClosed(data)));
+        this.subscribeToEvent(Editor.EditorActiveSceneEditorChangeEvent((data) => this.handleActiveSceneEditorChanged(data)));
+        this.subscribeToEvent(Editor.EditorSceneClosedEvent((data) => this.handleSceneClosed(data)));
 
         var leftAnimationField = InspectorUtils.createAttrEditFieldWithSelectButton("Animation A", this.leftAnimContainer);
         leftAnimationField.selectButton.onClick = function () { this.openAnimationSelectionBox(leftAnimationField.editField, this.leftAnim); }.bind(this);
@@ -122,7 +121,7 @@ class AnimationToolbar extends Atomic.UIWidget {
         return true;
     }
 
-    handleSceneClosed(ev: EditorEvents.SceneClosedEvent) {
+    handleSceneClosed(ev: Editor.EditorSceneClosedEvent) {
         if (ev.scene == this.scene) {
             Atomic.fileSystem.delete(this.sceneAssetPath);
 
@@ -141,7 +140,7 @@ class AnimationToolbar extends Atomic.UIWidget {
             this.remove();
     }
 
-    handleActiveSceneEditorChanged(event: EditorEvents.ActiveSceneEditorChangeEvent) {
+    handleActiveSceneEditorChanged(event: Editor.EditorActiveSceneEditorChangeEvent) {
 
         if (!event.sceneEditor)
             return;

+ 6 - 11
Script/AtomicEditor/ui/EditorUI.ts

@@ -20,12 +20,11 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("editor/EditorEvents");
 import MainFrame = require("./frames/MainFrame");
 import ModalOps = require("./modal/ModalOps");
 import Shortcuts = require("./Shortcuts");
 import ServiceLocator from "../hostExtensions/ServiceLocator";
-import Editor = require("editor/Editor");
+import {default as AtomicEditor} from "editor/Editor";
 
 // this is designed with public get functions to solve
 // circular dependency issues in TS
@@ -48,11 +47,11 @@ export function getShortcuts():Shortcuts {
   return editorUI.shortcuts;
 }
 
-export function initialize(editor: Editor) {
+export function initialize(editor: AtomicEditor) {
   editorUI = new EditorUI(editor);
 }
 
-export function getEditor(): Editor {
+export function getEditor(): AtomicEditor {
     return editorUI.editor;
 }
 
@@ -75,7 +74,7 @@ export function getCurrentResourceEditor():Editor.ResourceEditor {
 
 class EditorUI extends Atomic.ScriptObject {
 
-  constructor(editor: Editor) {
+  constructor(editor: AtomicEditor) {
 
     super();
 
@@ -107,11 +106,7 @@ class EditorUI extends Atomic.ScriptObject {
       this.modalOps);
     ServiceLocator.subscribeToEvents(this.mainframe);
 
-    this.subscribeToEvent(EditorEvents.ModalErrorEvent((event:EditorEvents.ModalErrorEvent) => {
-      this.showModalError(event.title, event.message);
-    }));
-
-    this.subscribeToEvent(EditorEvents.EditorModalEvent((event:EditorEvents.EditorModalEvent) => {
+    this.subscribeToEvent(Editor.EditorModalEvent((event:Editor.EditorModalEvent) => {
       this.showModalError(event.title, event.message);
     }));
 
@@ -125,6 +120,6 @@ class EditorUI extends Atomic.ScriptObject {
   mainframe: MainFrame;
   modalOps: ModalOps;
   shortcuts: Shortcuts;
-  editor: Editor;
+  editor: AtomicEditor;
 
 }

+ 5 - 6
Script/AtomicEditor/ui/MainToolbar.ts

@@ -21,7 +21,6 @@
 //
 
 import EditorUI = require("./EditorUI");
-import EditorEvents = require("../editor/EditorEvents");
 
 class MainToolbar extends Atomic.UIWidget {
 
@@ -60,24 +59,24 @@ class MainToolbar extends Atomic.UIWidget {
 
         this.subscribeToEvent(this, Atomic.UIWidgetEvent((data) => this.handleWidgetEvent(data)));
 
-        this.subscribeToEvent(EditorEvents.PlayerStartedEvent(() => {
+        this.subscribeToEvent(Editor.EditorPlayerStartedEvent(() => {
             var skin = <Atomic.UISkinImage> this.playButton.getWidget("skin_image");
             skin.setSkinBg("StopButton");
             skin = <Atomic.UISkinImage> this.pauseButton.getWidget("skin_image");
             skin.setSkinBg("PauseButton");
         }));
-        this.subscribeToEvent(EditorEvents.PlayerStoppedEvent(() => {
+        this.subscribeToEvent(Editor.EditorPlayerStoppedEvent(() => {
             var skin = <Atomic.UISkinImage> this.playButton.getWidget("skin_image");
             skin.setSkinBg("PlayButton");
             skin = <Atomic.UISkinImage> this.pauseButton.getWidget("skin_image");
             skin.setSkinBg("PauseButton");
         }));
-        this.subscribeToEvent(EditorEvents.PlayerPausedEvent(() => {
+        this.subscribeToEvent(Editor.EditorPlayerPausedEvent(() => {
             var skin = <Atomic.UISkinImage> this.pauseButton.getWidget("skin_image");
             skin.setSkinBg("PlayButton");
         }));
 
-        this.subscribeToEvent(EditorEvents.PlayerResumedEvent(() => {
+        this.subscribeToEvent(Editor.EditorPlayerResumedEvent(() => {
             var skin = <Atomic.UISkinImage> this.pauseButton.getWidget("skin_image");
             skin.setSkinBg("PauseButton");
         }));
@@ -135,7 +134,7 @@ class MainToolbar extends Atomic.UIWidget {
                 else if (ev.target.id == "3d_scale")
                     mode = 3;
 
-                this.sendEvent(Editor.GizmoEditModeChangedEventName, { mode: mode });
+                this.sendEvent(Editor.GizmoEditModeChangedEventType, { mode: mode });
 
                 return true;
 

+ 4 - 5
Script/AtomicEditor/ui/Shortcuts.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("../editor/EditorEvents");
 import EditorUI = require("./EditorUI");
 import Preferences = require("editor/Preferences");
 
@@ -40,7 +39,7 @@ class Shortcuts extends Atomic.ScriptObject {
     //this should be moved somewhere else...
     invokePlayOrStopPlayer(debug: boolean = false) {
 
-        this.sendEvent(EditorEvents.SaveAllResources);
+        this.sendEvent(Editor.EditorSaveAllResourcesEventType);
 
         if (Atomic.editorMode.isPlayerEnabled()) {
             this.sendEvent("IPCPlayerExitRequest" /*AtomicApp.IPCPlayerExitRequestEventName*/);
@@ -119,7 +118,7 @@ class Shortcuts extends Atomic.ScriptObject {
     }
 
     invokeFileSave() {
-        this.sendEvent(EditorEvents.SaveResource);
+        this.sendEvent(Editor.EditorSaveResourceEventType);
     }
 
     invokeUndo() {
@@ -153,7 +152,7 @@ class Shortcuts extends Atomic.ScriptObject {
 
     invokeGizmoEditModeChanged(mode: Editor.EditMode) {
 
-        this.sendEvent(Editor.GizmoEditModeChangedEventName, { mode: mode });
+        this.sendEvent(Editor.GizmoEditModeChangedEventType, { mode: mode });
 
     }
 
@@ -162,7 +161,7 @@ class Shortcuts extends Atomic.ScriptObject {
 
         if (editor && editor instanceof Editor.SceneEditor3D) {
             var mode = editor.getGizmo().axisMode ? Editor.AxisMode.AXIS_WORLD : Editor.AxisMode.AXIS_LOCAL;
-            this.sendEvent(Editor.GizmoAxisModeChangedEventName, { mode: mode });
+            this.sendEvent(Editor.GizmoAxisModeChangedEventType, { mode: mode });
         }
     }
 

+ 5 - 6
Script/AtomicEditor/ui/frames/HierarchyFrame.ts

@@ -22,7 +22,6 @@
 
 import HierarchyFrameMenu = require("./menus/HierarchyFrameMenu");
 import MenuItemSources = require("./menus/MenuItemSources");
-import EditorEvents = require("editor/EditorEvents");
 import EditorUI = require("ui/EditorUI");
 import SearchBarFiltering = require("resources/SearchBarFiltering");
 
@@ -70,8 +69,8 @@ class HierarchyFrame extends Atomic.UIWidget {
 
         this.subscribeToEvent(this, Atomic.UIWidgetEvent((data) => this.handleWidgetEvent(data)));
 
-        this.subscribeToEvent(EditorEvents.EditorResourceCloseEvent((data) => this.handleEditorResourceClosed(data)));
-        this.subscribeToEvent(EditorEvents.ActiveSceneEditorChangeEvent((data) => this.handleActiveSceneEditorChanged(data)));
+        this.subscribeToEvent(Editor.EditorResourceCloseEvent((data) => this.handleEditorResourceClosed(data)));
+        this.subscribeToEvent(Editor.EditorActiveSceneEditorChangeEvent((data) => this.handleActiveSceneEditorChanged(data)));
 
         this.searchEdit.subscribeToEvent(this.searchEdit, Atomic.UIWidgetEvent((data) => this.handleWidgetEvent(data)));
 
@@ -90,14 +89,14 @@ class HierarchyFrame extends Atomic.UIWidget {
             this.canReparent = true;
         }));
 
-        this.subscribeToEvent(EditorEvents.ProjectClosedEvent((ev) => {
+        this.subscribeToEvent(Editor.EditorProjectClosedEvent((ev) => {
 
             this.scene = null;
             this.populate();
 
         }));
 
-        this.subscribeToEvent(EditorEvents.SceneClosedEvent((ev: EditorEvents.SceneClosedEvent) => {
+        this.subscribeToEvent(Editor.EditorSceneClosedEvent((ev: Editor.EditorSceneClosedEvent) => {
 
             if (ev.scene == this.scene) {
 
@@ -246,7 +245,7 @@ class HierarchyFrame extends Atomic.UIWidget {
 
     }
 
-    handleActiveSceneEditorChanged(event: EditorEvents.ActiveSceneEditorChangeEvent) {
+    handleActiveSceneEditorChanged(event: Editor.EditorActiveSceneEditorChangeEvent) {
 
         this.setSceneEditor(event.sceneEditor);
 

+ 4 - 4
Script/AtomicEditor/ui/frames/ProjectFrame.ts

@@ -21,7 +21,7 @@
 //
 
 import ScriptWidget = require("ui/ScriptWidget");
-import Editor = require("editor/Editor");
+import {default as AtomicEditor} from "editor/Editor";
 import EditorEvents = require("editor/EditorEvents");
 import ProjectFrameMenu = require("./menus/ProjectFrameMenu");
 import MenuItemSources = require("./menus/MenuItemSources");
@@ -75,7 +75,7 @@ class ProjectFrame extends ScriptWidget {
         this.subscribeToEvent(ToolCore.ResourceAddedEvent((ev: ToolCore.ResourceAddedEvent) => this.handleResourceAdded(ev)));
         this.subscribeToEvent(ToolCore.ResourceRemovedEvent((ev: ToolCore.ResourceRemovedEvent) => this.handleResourceRemoved(ev)));
         this.subscribeToEvent(ToolCore.AssetRenamedEvent((ev: ToolCore.AssetRenamedEvent) => this.handleAssetRenamed(ev)));
-        this.subscribeToEvent(EditorEvents.InspectorProjectReferenceEvent((ev: EditorEvents.InspectorProjectReferenceEvent) => { this.handleInspectorProjectReferenceHighlight(ev.path); }));
+        this.subscribeToEvent(Editor.InspectorProjectReferenceEvent((ev: Editor.InspectorProjectReferenceEvent) => { this.handleInspectorProjectReferenceHighlight(ev.path); }));
 
         this.searchEdit.subscribeToEvent(this.searchEdit, Atomic.UIWidgetEvent((data) => this.handleWidgetEvent(data)));
 
@@ -260,7 +260,7 @@ class ProjectFrame extends ScriptWidget {
 
                     } else {
 
-                        this.sendEvent(EditorEvents.EditResource, { "path": asset.path });
+                        this.sendEvent(Editor.EditorEditResourceEventType, { "path": asset.path });
                     }
 
                 }
@@ -470,7 +470,7 @@ class ProjectFrame extends ScriptWidget {
 
         if (this.currentFolder != folder) {
 
-            this.sendEvent(EditorEvents.ContentFolderChanged, { path: folder.path });
+            this.sendEvent(Editor.ContentFolderChangedEventType, { path: folder.path });
 
         }
 

+ 16 - 16
Script/AtomicEditor/ui/frames/ResourceFrame.ts

@@ -53,19 +53,19 @@ class ResourceFrame extends ScriptWidget {
 
     }
 
-    handleSaveResource(ev: EditorEvents.SaveResourceEvent) {
+    handleSaveResource(ev: Editor.EditorSaveResourceEvent) {
 
         if (this.currentResourceEditor) {
             this.currentResourceEditor.save();
             // Grab the path to this file and pass it to the save resource
-            this.sendEvent(EditorEvents.SaveResourceNotification, {
+            this.sendEvent(Editor.EditorSaveResourceNotificationEventType, {
                 path: ev.path || this.currentResourceEditor.fullPath
             });
         }
 
     }
 
-    handleDeleteResource(ev: EditorEvents.DeleteResourceEvent) {
+    handleDeleteResource(ev: Editor.EditorDeleteResourceEvent) {
         var editor = this.editors[ev.path];
         if (editor) {
             editor.close(true);
@@ -77,14 +77,14 @@ class ResourceFrame extends ScriptWidget {
 
         for (var i in this.editors) {
             this.editors[i].save();
-            this.sendEvent(EditorEvents.SaveResourceNotification, {
+            this.sendEvent(Editor.EditorSaveResourceNotificationEventType, {
                 path: this.editors[i].fullPath
             });
         }
 
     }
 
-    handleEditResource(ev: EditorEvents.EditResourceEvent) {
+    handleEditResource(ev: Editor.EditorEditResourceEvent) {
 
         var path = ev.path;
 
@@ -151,7 +151,7 @@ class ResourceFrame extends ScriptWidget {
 
     }
 
-    handleCloseResource(ev: EditorEvents.EditorCloseResourceEvent) {
+    handleCloseResource(ev: Editor.EditorResourceCloseEvent) {
         this.wasClosed = false;
         var editor = ev.editor;
         var navigate = ev.navigateToAvailableResource;
@@ -200,7 +200,7 @@ class ResourceFrame extends ScriptWidget {
 
     }
 
-    handleRenameResource(ev:EditorEvents.RenameResourceEvent) {
+    handleRenameResource(ev:Editor.EditorRenameResourceNotificationEvent) {
         var editor = this.editors[ev.path];
         if (editor) {
             this.editors[ev.newPath] = editor;
@@ -220,7 +220,7 @@ class ResourceFrame extends ScriptWidget {
 
                     if (w.editor.typeName == "SceneEditor3D") {
 
-                        this.sendEvent(EditorEvents.ActiveSceneEditorChange, { sceneEditor: (<Editor.SceneEditor3D> w.editor) });
+                        this.sendEvent(Editor.EditorActiveSceneEditorChangeEventType, { sceneEditor: (<Editor.SceneEditor3D> w.editor) });
 
                     }
 
@@ -246,7 +246,7 @@ class ResourceFrame extends ScriptWidget {
         // on exit close all open editors
         for (var path in this.editors) {
 
-            this.sendEvent(EditorEvents.EditorResourceClose, { editor: this.editors[path], navigateToAvailableResource: false });
+            this.sendEvent(Editor.EditorResourceCloseEventType, { editor: this.editors[path], navigateToAvailableResource: false });
 
         }
 
@@ -256,7 +256,7 @@ class ResourceFrame extends ScriptWidget {
 
       for (var i in this.editors) {
           var editor = this.editors[i];
-           this.sendEvent(EditorEvents.EditorResourceClose, { editor: editor, navigateToAvailableResource: false });
+           this.sendEvent(Editor.EditorResourceCloseEventType, { editor: editor, navigateToAvailableResource: false });
            editor.close();
       }
 
@@ -279,12 +279,12 @@ class ResourceFrame extends ScriptWidget {
         this.resourceEditorProvider.loadStandardEditors();
 
         this.subscribeToEvent(EditorEvents.ProjectUnloadedNotificationEvent((data) => this.handleProjectUnloaded(data)));
-        this.subscribeToEvent(EditorEvents.EditResourceEvent((data) => this.handleEditResource(data)));
-        this.subscribeToEvent(EditorEvents.SaveResourceEvent((data) => this.handleSaveResource(data)));
-        this.subscribeToEvent(EditorEvents.SaveAllResourcesEvent((data) => this.handleSaveAllResources()));
-        this.subscribeToEvent(EditorEvents.EditorResourceCloseEvent((ev: EditorEvents.EditorCloseResourceEvent) => this.handleCloseResource(ev)));
-        this.subscribeToEvent(EditorEvents.RenameResourceNotificationEvent((ev: EditorEvents.RenameResourceEvent) => this.handleRenameResource(ev)));
-        this.subscribeToEvent(EditorEvents.DeleteResourceNotificationEvent((data) => this.handleDeleteResource(data)));
+        this.subscribeToEvent(Editor.EditorEditResourceEvent((data) => this.handleEditResource(data)));
+        this.subscribeToEvent(Editor.EditorSaveResourceEvent((data) => this.handleSaveResource(data)));
+        this.subscribeToEvent(Editor.EditorSaveAllResourcesEvent((data) => this.handleSaveAllResources()));
+        this.subscribeToEvent(Editor.EditorResourceCloseEvent((ev: Editor.EditorResourceCloseEvent) => this.handleCloseResource(ev)));
+        this.subscribeToEvent(Editor.EditorRenameResourceNotificationEvent((ev: Editor.EditorRenameResourceNotificationEvent) => this.handleRenameResource(ev)));
+        this.subscribeToEvent(Editor.EditorDeleteResourceNotificationEvent((data) => this.handleDeleteResource(data)));
 
         this.subscribeToEvent(UIEvents.ResourceEditorChangedEvent((data) => this.handleResourceEditorChanged(data)));
 

+ 1 - 1
Script/AtomicEditor/ui/frames/WelcomeFrame.ts

@@ -58,7 +58,7 @@ class WelcomeFrame extends ScriptWidget {
 
         this.updateRecentProjects();
 
-        this.subscribeToEvent(EditorEvents.CloseProjectEvent(() => {
+        this.subscribeToEvent(Editor.EditorCloseProjectEvent(() => {
             this.updateRecentProjects();
         }));
 

+ 6 - 7
Script/AtomicEditor/ui/frames/inspector/AttributeInfoEdit.ts

@@ -23,7 +23,6 @@
 import EditorUI = require("ui/EditorUI");
 import InspectorUtils = require("./InspectorUtils");
 import SerializableEditType = require("./SerializableEditType");
-import EditorEvents = require("editor/EditorEvents");
 import ColorChooser = require("./ColorChooser");
 
 class AttributeInfoEdit extends Atomic.UILayout {
@@ -796,7 +795,7 @@ class ResourceRefAttributeEdit extends AttributeInfoEdit {
 
         if (parent) {
 
-            parent.sendEvent(EditorEvents.AttributeEditResourceChangedEventName, { attrInfoEdit: this, resource: resource });
+            parent.sendEvent(Editor.AttributeEditResourceChangedEventType, { attrInfoEdit: this, resource: resource });
 
         }
 
@@ -862,18 +861,18 @@ class ResourceRefAttributeEdit extends AttributeInfoEdit {
                         if (resource instanceof Atomic.JSComponentFile) {
 
                             var pathName = resource.name;
-                            this.sendEvent(EditorEvents.InspectorProjectReference, { "path": pathName });
+                            this.sendEvent(Editor.InspectorProjectReferenceEventType, { "path": pathName });
 
                         } else if (resource instanceof Atomic.Model) {
 
                             var asset = ToolCore.assetDatabase.getAssetByCachePath(resource.name);
-                            this.sendEvent(EditorEvents.InspectorProjectReference, { "path": asset.getRelativePath() });
+                            this.sendEvent(Editor.InspectorProjectReferenceEventType, { "path": asset.getRelativePath() });
 
                         } else if (resource instanceof Atomic.Animation) {
 
                              var animCacheReferenceName = resource.name.replace( "_" + (<Atomic.Animation>resource).animationName, "");
                              var asset = ToolCore.assetDatabase.getAssetByCachePath(animCacheReferenceName);
-                             this.sendEvent(EditorEvents.InspectorProjectReference, { "path": asset.getRelativePath() });
+                             this.sendEvent(Editor.InspectorProjectReferenceEventType, { "path": asset.getRelativePath() });
 
                         } else {
 
@@ -1237,8 +1236,8 @@ class ArrayAttributeEdit extends AttributeInfoEdit {
                 // record for undo/redo
                 let scene = this.editType.getEditScene();
                 if (scene) {
-                    scene.sendEvent(Editor.SceneEditEndEventName);
-                    scene.sendEvent(Editor.ComponentEditEndEventName);
+                    scene.sendEvent(Editor.SceneEditEndEventType);
+                    scene.sendEvent(Editor.ComponentEditEndEventType);
                 }
 
                 refresh = true;

+ 7 - 7
Script/AtomicEditor/ui/frames/inspector/ColorChooser.ts

@@ -69,8 +69,8 @@ class ColorChooser extends Atomic.UIWindow {
 
         (<Atomic.UIButton>this.getWidget("ccancelbutton")).onClick = () => {
 
-            this.sendEvent(Atomic.UIWidgetEditCanceledEventName, { widget : this });
-            this.unsubscribeFromEvent(Atomic.UIWidgetDeletedEventName);
+            this.sendEvent(Atomic.UIWidgetEditCanceledEventType, { widget : this });
+            this.unsubscribeFromEvent(Atomic.UIWidgetDeletedEventType);
             this.close();
 
         };
@@ -79,14 +79,14 @@ class ColorChooser extends Atomic.UIWindow {
 
             Preferences.getInstance().addColorHistory(this.infohex.text);
 
-            this.sendEvent(Atomic.UIWidgetEditCompleteEventName, { widget : this });
-            this.unsubscribeFromEvent(Atomic.UIWidgetDeletedEventName);
+            this.sendEvent(Atomic.UIWidgetEditCompleteEventType, { widget : this });
+            this.unsubscribeFromEvent(Atomic.UIWidgetDeletedEventType);
             this.close();
         };
 
         this.subscribeToEvent(this, Atomic.UIWidgetDeletedEvent((event: Atomic.UIWidgetDeletedEvent) => {
 
-            this.sendEvent(Atomic.UIWidgetEditCanceledEventName, { widget : this });
+            this.sendEvent(Atomic.UIWidgetEditCanceledEventType, { widget : this });
 
         }));
 
@@ -192,7 +192,7 @@ class ColorChooser extends Atomic.UIWindow {
 
         if (changed) {
 
-            this.sendEvent(Editor.ColorChooserChangedEventName, { widget : this });
+            this.sendEvent(Editor.ColorChooserChangedEventType, { widget : this });
 
         }
 
@@ -226,7 +226,7 @@ class ColorChooser extends Atomic.UIWindow {
             this.fixcolor();
             this.update_hslwidgets();
             this.update_rgbwidgets();
-            this.sendEvent(Editor.ColorChooserChangedEventName, { widget : this });
+            this.sendEvent(Editor.ColorChooserChangedEventType, { widget : this });
 
         }
 

+ 5 - 6
Script/AtomicEditor/ui/frames/inspector/ComponentAttributeUI.ts

@@ -24,7 +24,6 @@ import EditorUI = require("ui/EditorUI");
 import InspectorUtils = require("./InspectorUtils");
 import AttributeInfoEdit = require("./AttributeInfoEdit");
 import SerializableEditType = require("./SerializableEditType");
-import EditorEvents = require("editor/EditorEvents");
 
 class LightCascadeAttributeEdit extends AttributeInfoEdit {
 
@@ -56,7 +55,7 @@ class LightCascadeAttributeEdit extends AttributeInfoEdit {
 
                 }
 
-                o.scene.sendEvent(Editor.SceneEditEndEventName);
+                o.scene.sendEvent(Editor.SceneEditEndEventType);
                 _this.refresh();
 
             }.bind({ index: index, field: field });
@@ -173,7 +172,7 @@ class SubmeshAttributeEdit extends AttributeInfoEdit {
 
             }
 
-            this.sendEvent(EditorEvents.InspectorProjectReference, { "path": resource.name });
+            this.sendEvent(Editor.InspectorProjectReferenceEventType, { "path": resource.name });
             this.editType.onAttributeInfoEdited(this.attrInfo, resource, materialIndex);
             this.refresh();
 
@@ -229,7 +228,7 @@ class SubmeshAttributeEdit extends AttributeInfoEdit {
                 if (importer) {
 
                     var resource = asset.getResource(resourceTypeName);
-                    this.sendEvent(EditorEvents.InspectorProjectReference, { "path": resource.name });
+                    this.sendEvent(Editor.InspectorProjectReferenceEventType, { "path": resource.name });
                     this.editType.onAttributeInfoEdited(this.attrInfo, resource, materialIndex);
                     this.refresh();
                 }
@@ -242,7 +241,7 @@ class SubmeshAttributeEdit extends AttributeInfoEdit {
             if (ev.type == Atomic.UI_EVENT_TYPE.UI_EVENT_TYPE_POINTER_DOWN && o.editField.text != "") {
 
                 var pathName = materialEdit.pathReference;
-                this.sendEvent(EditorEvents.InspectorProjectReference, { "path": pathName });
+                this.sendEvent(Editor.InspectorProjectReferenceEventType, { "path": pathName });
 
             } else if (o.editField.text == "") {
 
@@ -288,7 +287,7 @@ class SubmeshAttributeEdit extends AttributeInfoEdit {
 
                 }
 
-                scene.sendEvent(Editor.SceneEditEndEventName);
+                scene.sendEvent(Editor.SceneEditEndEventType);
 
                 return true;
 

+ 2 - 2
Script/AtomicEditor/ui/frames/inspector/CreateComponentButton.ts

@@ -143,7 +143,7 @@ class CreateComponentButton extends Atomic.UIButton {
         var menu = new Atomic.UIMenuWindow(this, "create component popup");
         menu.fontDescription = this.fd;
         menu.show(componentCreateSource);
-    };
+    }
 
     handleWidgetEvent(ev: Atomic.UIWidgetEvent) {
 
@@ -152,7 +152,7 @@ class CreateComponentButton extends Atomic.UIButton {
 
         if (ev.target && ev.target.id == "create component popup") {
 
-            this.sendEvent(Editor.SelectionCreateComponentEventName, { componentTypeName : ev.refid});
+            this.sendEvent(Editor.SelectionCreateComponentEventType, { componentTypeName : ev.refid});
 
             return true;
 

+ 4 - 4
Script/AtomicEditor/ui/frames/inspector/InspectorFrame.ts

@@ -54,14 +54,14 @@ class InspectorFrame extends ScriptWidget {
 
         var container = this.getWidget("inspectorcontainer");
 
-        this.subscribeToEvent(EditorEvents.EditResourceEvent((data) => this.handleEditResource(data)));
+        this.subscribeToEvent(Editor.EditorEditResourceEvent((data) => this.handleEditResource(data)));
         this.subscribeToEvent(EditorEvents.ProjectUnloadedNotificationEvent((data) => this.handleProjectUnloaded(data)));
 
-        this.subscribeToEvent(EditorEvents.ActiveSceneEditorChangeEvent((data) => this.handleActiveSceneEditorChanged(data)));
+        this.subscribeToEvent(Editor.EditorActiveSceneEditorChangeEvent((data) => this.handleActiveSceneEditorChanged(data)));
 
     }
 
-    handleActiveSceneEditorChanged(event: EditorEvents.ActiveSceneEditorChangeEvent) {
+    handleActiveSceneEditorChanged(event: Editor.EditorActiveSceneEditorChangeEvent) {
 
         if (this.sceneEditor == event.sceneEditor) {
             return;
@@ -151,7 +151,7 @@ class InspectorFrame extends ScriptWidget {
     }
 
 
-    handleEditResource(ev: EditorEvents.EditResourceEvent) {
+    handleEditResource(ev: Editor.EditorEditResourceEvent) {
 
         var path = ev.path;
 

+ 2 - 3
Script/AtomicEditor/ui/frames/inspector/MaterialInspector.ts

@@ -23,7 +23,6 @@
 import ScriptWidget = require("ui/ScriptWidget");
 import UIEvents = require("ui/UIEvents");
 import EditorUI = require("ui/EditorUI");
-import EditorEvents = require("editor/EditorEvents");
 
 import TextureSelector = require("./TextureSelector");
 
@@ -295,7 +294,7 @@ class MaterialInspector extends ScriptWidget {
             var texture = this.material.getTexture(textureUnit);
 
             if (textureWidget.getTexture() != null) {
-                this.sendEvent(EditorEvents.InspectorProjectReference, { "path": texture.getName() });
+                this.sendEvent(Editor.InspectorProjectReferenceEventType, { "path": texture.getName() });
             } else {
                 this.openTextureSelectionBox(textureUnit, textureWidget);
             }
@@ -410,7 +409,7 @@ class MaterialInspector extends ScriptWidget {
                         this.material.setTexture(ev.target["tunit"], texture);
                         (<Atomic.UITextureWidget>ev.target["textureWidget"]).texture = this.getTextureThumbnail(texture);
 
-                        this.sendEvent(EditorEvents.InspectorProjectReference, { "path": texture.getName(), "ButtonID": texture.getName() });
+                        this.sendEvent(Editor.InspectorProjectReferenceEventType, { "path": texture.getName(), "ButtonID": texture.getName() });
                     }
                 }
             }));

+ 1 - 2
Script/AtomicEditor/ui/frames/inspector/ModelInspector.ts

@@ -23,7 +23,6 @@
 import InspectorWidget = require("./InspectorWidget");
 import ArrayEditWidget = require("./ArrayEditWidget");
 import InspectorUtils = require("./InspectorUtils");
-import EditorEvents = require("editor/EditorEvents");
 
 class ModelInspector extends InspectorWidget {
 
@@ -96,7 +95,7 @@ class ModelInspector extends InspectorWidget {
         editField.subscribeToEvent(editField, Atomic.UIWidgetFocusChangedEvent((ev: Atomic.UIWidgetFocusChangedEvent) => {
 
             if (ev.widget == editField && editField.focus) {
-                this.sendEvent(EditorEvents.InspectorProjectReference, { "path": asset.getRelativePath() });
+                this.sendEvent(Editor.InspectorProjectReferenceEventType, { "path": asset.getRelativePath() });
             }
 
         }));

+ 7 - 8
Script/AtomicEditor/ui/frames/inspector/SelectionInspector.ts

@@ -23,7 +23,6 @@
 import EditorUI = require("../../EditorUI");
 import CreateComponentButton = require("./CreateComponentButton");
 import ScriptWidget = require("ui/ScriptWidget");
-import EditorEvents = require("editor/EditorEvents");
 import SerializableEditType = require("./SerializableEditType");
 import SelectionSection = require("./SelectionSection");
 import SelectionPrefabWidget = require("./SelectionPrefabWidget");
@@ -138,11 +137,11 @@ class JSComponentSection extends ComponentSection {
 
         this.hasDynamicAttr = true;
 
-        this.subscribeToEvent(this, EditorEvents.AttributeEditResourceChangedEvent((ev) => this.handleAttributeEditResourceChanged(ev)));
+        this.subscribeToEvent(this, Editor.AttributeEditResourceChangedEvent((ev) => this.handleAttributeEditResourceChanged(ev)));
         this.updateTitleFromComponentClass();
     }
 
-    private handleAttributeEditResourceChanged(ev: EditorEvents.AttributeEditResourceChangedEvent) {
+    private handleAttributeEditResourceChanged(ev: Editor.AttributeEditResourceChangedEvent) {
 
         var jsc = <Atomic.JSComponent>this.editType.getFirstObject();
 
@@ -178,7 +177,7 @@ class CSComponentSection extends ComponentSection {
 
         this.hasDynamicAttr = true;
 
-        this.subscribeToEvent(this, EditorEvents.AttributeEditResourceChangedEvent((ev) => this.handleAttributeEditResourceChanged(ev)));
+        this.subscribeToEvent(this, Editor.AttributeEditResourceChangedEvent((ev) => this.handleAttributeEditResourceChanged(ev)));
 
         this.subscribeToEvent(AtomicNETScript.CSComponentAssemblyChangedEvent((ev) => this.handleCSComponentAssemblyChanged(ev)));
 
@@ -216,7 +215,7 @@ class CSComponentSection extends ComponentSection {
     }
 
 
-    private handleAttributeEditResourceChanged(ev: EditorEvents.AttributeEditResourceChangedEvent) {
+    private handleAttributeEditResourceChanged(ev: Editor.AttributeEditResourceChangedEvent) {
 
 
         var csc = <AtomicNETScript.CSComponent>this.editType.getFirstObject();
@@ -676,7 +675,7 @@ class SelectionInspector extends ScriptWidget {
 
         if (removed.length) {
 
-            this.sceneEditor.scene.sendEvent(Editor.SceneEditEndEventName);
+            this.sceneEditor.scene.sendEvent(Editor.SceneEditEndEventType);
             this.refresh();
 
         }
@@ -700,7 +699,7 @@ class SelectionInspector extends ScriptWidget {
 
             this.component = c;
 
-            this.sceneEditor.scene.sendEvent(Editor.SceneEditComponentCopyEventName, { component: this.component });
+            this.sceneEditor.scene.sendEvent(Editor.SceneEditComponentCopyEventType, { component: this.component });
             this.refresh();
 
         }
@@ -722,7 +721,7 @@ class SelectionInspector extends ScriptWidget {
 
             this.component = c;
 
-            this.sceneEditor.scene.sendEvent(Editor.SceneEditComponentPasteEventName, { component: this.component });
+            this.sceneEditor.scene.sendEvent(Editor.SceneEditComponentPasteEventType, { component: this.component });
             this.refresh();
         }
 

+ 4 - 4
Script/AtomicEditor/ui/frames/inspector/SelectionPrefabWidget.ts

@@ -57,7 +57,7 @@ class SelectionPrefabWidget extends Atomic.UILayout {
 
         saveButton.onClick = () => {
 
-            this.node.scene.sendEvent(Editor.SceneEditPrefabSaveEventName, {node : this.node});
+            this.node.scene.sendEvent(Editor.SceneEditPrefabSaveEventType, {node : this.node});
             return true;
         };
 
@@ -67,7 +67,7 @@ class SelectionPrefabWidget extends Atomic.UILayout {
 
         undoButton.onClick = () => {
 
-            this.node.scene.sendEvent(Editor.SceneEditPrefabRevertEventName, {node : this.node});
+            this.node.scene.sendEvent(Editor.SceneEditPrefabRevertEventType, {node : this.node});
             return true;
 
         };
@@ -206,7 +206,7 @@ class ConfirmPrefabBreak extends Atomic.UIWindow {
 
                 this.hide();
 
-                this.node.scene.sendEvent(Editor.SceneEditPrefabBreakEventName, {node : this.node});
+                this.node.scene.sendEvent(Editor.SceneEditPrefabBreakEventType, {node : this.node});
 
                 return true;
             }
@@ -215,7 +215,7 @@ class ConfirmPrefabBreak extends Atomic.UIWindow {
 
                 this.hide();
 
-                this.node.scene.sendEvent(Editor.SceneEditPrefabRevertEventName, {node : this.node});
+                this.node.scene.sendEvent(Editor.SceneEditPrefabRevertEventType, {node : this.node});
 
                 return true;
             }

+ 2 - 2
Script/AtomicEditor/ui/frames/inspector/SerializableEditType.ts

@@ -128,11 +128,11 @@ class SerializableEditType {
 
         if (scene) {
 
-            scene.sendEvent(Editor.SceneEditEndEventName);
+            scene.sendEvent(Editor.SceneEditEndEventType);
 
             if (editTypeName != "Node") {
 
-                scene.sendEvent(Editor.ComponentEditEndEventName);
+                scene.sendEvent(Editor.ComponentEditEndEventType);
 
             }
         }

+ 0 - 1
Script/AtomicEditor/ui/frames/inspector/TextureInspector.ts

@@ -23,7 +23,6 @@
 import ScriptWidget = require("ui/ScriptWidget");
 import UIEvents = require("ui/UIEvents");
 import EditorUI = require("ui/EditorUI");
-import EditorEvents = require("editor/EditorEvents");
 import InspectorWidget = require("./InspectorWidget");
 import InspectorUtils = require("./InspectorUtils");
 

+ 6 - 7
Script/AtomicEditor/ui/frames/menus/HierarchyFrameMenu.ts

@@ -21,7 +21,6 @@
 //
 
 import strings = require("ui/EditorStrings");
-import EditorEvents = require("editor/EditorEvents");
 import EditorUI = require("ui/EditorUI");
 import MenuItemSources = require("./MenuItemSources");
 import ServiceLocator from "../../../hostExtensions/ServiceLocator";
@@ -39,7 +38,7 @@ class HierarchyFrameMenus extends Atomic.ScriptObject {
         MenuItemSources.createMenuItemSource("hierarchy create items", createItems);
         this.contextMenuItemSource = MenuItemSources.createMenuItemSource("node context general", nodeGeneralContextItems);
 
-        this.subscribeToEvent(EditorEvents.ContentFolderChangedEvent((ev: EditorEvents.ContentFolderChangedEvent) => {
+        this.subscribeToEvent(Editor.ContentFolderChangedEvent((ev: Editor.ContentFolderChangedEvent) => {
             this.contentFolder = ev.path;
         }));
 
@@ -74,7 +73,7 @@ class HierarchyFrameMenus extends Atomic.ScriptObject {
             }
 
             if (child) {
-                child.scene.sendEvent(Editor.SceneEditNodeCreatedEventName, { node: child });
+                child.scene.sendEvent(Editor.SceneEditNodeCreatedEventType, { node: child });
             }
 
             return true;
@@ -101,10 +100,10 @@ class HierarchyFrameMenus extends Atomic.ScriptObject {
                     return;
 
                 var scene = node.scene;
-                scene.sendEvent(Editor.SceneEditAddRemoveNodesEventName, { end: false });
-                scene.sendEvent(Editor.SceneEditNodeRemovedEventName, { node: node, parent: node.parent, scene: scene });
+                scene.sendEvent(Editor.SceneEditAddRemoveNodesEventType, { end: false });
+                scene.sendEvent(Editor.SceneEditNodeRemovedEventType, { node: node, parent: node.parent, scene: scene });
                 node.remove();
-                scene.sendEvent(Editor.SceneEditAddRemoveNodesEventName, { end: true });
+                scene.sendEvent(Editor.SceneEditAddRemoveNodesEventType, { end: true });
 
                 editor.selection.delete();
 
@@ -116,7 +115,7 @@ class HierarchyFrameMenus extends Atomic.ScriptObject {
                     return;
 
                 var newnode = node.clone();
-                node.scene.sendEvent(Editor.SceneEditNodeCreatedEventName, { node: newnode });
+                node.scene.sendEvent(Editor.SceneEditNodeCreatedEventType, { node: newnode });
 
                 return true;
             }

+ 6 - 6
Script/AtomicEditor/ui/frames/menus/MainFrameMenu.ts

@@ -140,7 +140,7 @@ class MainFrameMenu extends Atomic.ScriptObject {
         } else if (target.id == "menu file popup") {
             if (refid == "quit") {
 
-                this.sendEvent(Atomic.ExitRequestedEventName);
+                this.sendEvent(Atomic.ExitRequestedEventType);
                 return true;
 
             }
@@ -175,14 +175,14 @@ class MainFrameMenu extends Atomic.ScriptObject {
 
                 if (ToolCore.toolSystem.project) {
 
-                    this.subscribeToEvent(EditorEvents.ProjectClosedEvent(() => {
+                    this.subscribeToEvent(Editor.EditorProjectClosedEvent(() => {
 
-                        this.unsubscribeFromEvent(EditorEvents.ProjectClosed);
+                        this.unsubscribeFromEvent(Editor.EditorProjectClosedEventType);
                         requestProjectLoad();
 
                     }));
 
-                    this.sendEvent(EditorEvents.CloseProject);
+                    this.sendEvent(Editor.EditorCloseProjectEventType);
 
                 } else {
 
@@ -196,7 +196,7 @@ class MainFrameMenu extends Atomic.ScriptObject {
 
             if (refid == "file close project") {
 
-                this.sendEvent(EditorEvents.CloseProject);
+                this.sendEvent(Editor.EditorCloseProjectEventType);
 
                 return true;
 
@@ -213,7 +213,7 @@ class MainFrameMenu extends Atomic.ScriptObject {
             }
 
             if (refid == "file save all") {
-                this.sendEvent(EditorEvents.SaveAllResources);
+                this.sendEvent(Editor.EditorSaveAllResourcesEventType);
                 return true;
             }
 

+ 0 - 1
Script/AtomicEditor/ui/frames/menus/MenuItemSources.ts

@@ -21,7 +21,6 @@
 //
 
 import strings = require("ui/EditorStrings");
-import EditorEvents = require("editor/EditorEvents");
 import EditorUI = require("ui/EditorUI");
 
 var UIMenuItemSource = Atomic.UIMenuItemSource;

+ 1 - 2
Script/AtomicEditor/ui/frames/menus/ProjectFrameMenu.ts

@@ -21,7 +21,6 @@
 //
 
 import strings = require("ui/EditorStrings");
-import EditorEvents = require("editor/EditorEvents");
 import EditorUI = require("ui/EditorUI");
 import MenuItemSources = require("./MenuItemSources");
 import ServiceLocator from "../../../hostExtensions/ServiceLocator";
@@ -40,7 +39,7 @@ class ProjectFrameMenus extends Atomic.ScriptObject {
         this.contextMenuItemSource = MenuItemSources.createMenuItemSource("asset context general", assetGeneralContextItems);
         MenuItemSources.createMenuItemSource("project create items", createItems);
 
-        this.subscribeToEvent(EditorEvents.ContentFolderChangedEvent((ev: EditorEvents.ContentFolderChangedEvent) => {
+        this.subscribeToEvent(Editor.ContentFolderChangedEvent((ev: Editor.ContentFolderChangedEvent) => {
             this.contentFolder = ev.path;
         }));
 

+ 1 - 2
Script/AtomicEditor/ui/modal/CreateProject.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("../../editor/EditorEvents");
 import EditorUI = require("../EditorUI");
 import ModalWindow = require("./ModalWindow");
 import Preferences = require("../../editor/Preferences");
@@ -260,7 +259,7 @@ class CreateProject extends ModalWindow {
 
             this.hide();
 
-            this.sendEvent(EditorEvents.LoadProject, { path: folder });
+            this.sendEvent(Editor.EditorLoadProjectEventType, { path: folder });
             return true;
         } else {
             let message = [

+ 0 - 1
Script/AtomicEditor/ui/modal/ResourceSelection.ts

@@ -21,7 +21,6 @@
 //
 
 import EditorUI = require("../EditorUI");
-import EditorEvents = require("../../editor/EditorEvents");
 import ModalWindow = require("./ModalWindow");
 import SearchBarFiltering = require("resources/SearchBarFiltering");
 

+ 7 - 8
Script/AtomicEditor/ui/modal/UIResourceOps.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("editor/EditorEvents");
 import EditorUI = require("../EditorUI");
 import ModalWindow = require("./ModalWindow");
 import ResourceOps = require("resources/ResourceOps");
@@ -64,7 +63,7 @@ export class ResourceDelete extends ModalWindow {
                 var db = ToolCore.getAssetDatabase();
                 db.deleteAsset(this.asset);
 
-                this.sendEvent(EditorEvents.DeleteResourceNotification, eventData);
+                this.sendEvent(Editor.EditorDeleteResourceNotificationEventType, eventData);
 
                 return true;
             }
@@ -187,7 +186,7 @@ export class CreateComponent extends ModalWindow {
 
                         this.hide();
 
-                        this.sendEvent(EditorEvents.EditResource, { path: outputFile });
+                        this.sendEvent(Editor.EditorEditResourceEventType, { path: outputFile });
 
                     }
 
@@ -273,7 +272,7 @@ export class CreateScript extends ModalWindow {
 
                         this.hide();
 
-                        this.sendEvent(EditorEvents.EditResource, { path: outputFile });
+                        this.sendEvent(Editor.EditorEditResourceEventType, { path: outputFile });
 
                     }
 
@@ -331,7 +330,7 @@ export class CreateScene extends ModalWindow {
 
                     this.hide();
 
-                    this.sendEvent(EditorEvents.EditResource, { path: outputFile });
+                    this.sendEvent(Editor.EditorEditResourceEventType, { path: outputFile });
 
                 }
 
@@ -383,7 +382,7 @@ export class CreateMaterial extends ModalWindow {
 
                     this.hide();
 
-                    this.sendEvent(EditorEvents.EditResource, { path: outputFile });
+                    this.sendEvent(Editor.EditorEditResourceEventType, { path: outputFile });
 
                 }
 
@@ -442,14 +441,14 @@ export class RenameAsset extends ModalWindow {
                     let oldPath = this.asset.path;
                     this.asset.rename(this.nameEdit.text);
 
-                    let eventData: EditorEvents.RenameResourceEvent = {
+                    let eventData: Editor.EditorRenameResourceNotificationEvent = {
                         path: oldPath,
                         newPath: this.asset.path,
                         newName: this.nameEdit.text,
                         asset: this.asset
                     };
 
-                    this.sendEvent(EditorEvents.RenameResourceNotification, eventData);
+                    this.sendEvent(Editor.EditorRenameResourceNotificationEventType, eventData);
                 }
 
                 return true;

+ 0 - 1
Script/AtomicEditor/ui/modal/build/BuildSettingsWindow.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("editor/EditorEvents");
 import EditorUI = require("ui/EditorUI");
 import ModalWindow = require("../ModalWindow");
 import ProgressModal = require("../ProgressModal");

+ 0 - 1
Script/AtomicEditor/ui/modal/build/BuildWindow.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("editor/EditorEvents");
 import EditorUI = require("ui/EditorUI");
 import ModalWindow = require("../ModalWindow");
 import ProgressModal = require("../ProgressModal");

+ 2 - 3
Script/AtomicEditor/ui/modal/license/EULAWindow.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("editor/EditorEvents");
 import EditorUI = require("ui/EditorUI");
 import ModalWindow = require("../ModalWindow");
 
@@ -63,7 +62,7 @@ class EULAWindow extends ModalWindow {
 
             if (id == "quit") {
 
-                this.sendEvent(Atomic.ExitRequestedEventName);
+                this.sendEvent(Atomic.ExitRequestedEventType);
                 return true;
 
             } else if (id == "ok") {
@@ -78,7 +77,7 @@ class EULAWindow extends ModalWindow {
                 var licenseSystem = ToolCore.getLicenseSystem();
                 licenseSystem.licenseAgreementConfirmed();
 
-                this.sendEvent(ToolCore.LicenseEulaAcceptedEventName);
+                this.sendEvent(ToolCore.LicenseEulaAcceptedEventType);
 
                 return true;
             }

+ 3 - 4
Script/AtomicEditor/ui/playmode/PlayMode.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("../../editor/EditorEvents");
 import PlayerOutput = require("./PlayerOutput");
 import Preferences = require("../../editor/Preferences");
 
@@ -34,8 +33,8 @@ class PlayMode extends Atomic.ScriptObject {
         super();
         this.myPlayer = null;
         this.subscribeToEvent(Atomic.IPCJSErrorEvent((ev: Atomic.IPCJSErrorEvent) => this.handleIPCJSError(ev)));
-        this.subscribeToEvent(EditorEvents.PlayerStartedEvent((ev) => this.handlePlayerStarted(ev)));
-        this.subscribeToEvent(EditorEvents.PlayerStoppedEvent((ev) => this.handlePlayerStopped(ev)));
+        this.subscribeToEvent(Editor.EditorPlayerStartedEvent((ev) => this.handlePlayerStarted(ev)));
+        this.subscribeToEvent(Editor.EditorPlayerStoppedEvent((ev) => this.handlePlayerStopped(ev)));
 
     }
 
@@ -67,7 +66,7 @@ class PlayMode extends Atomic.ScriptObject {
         this.inErrorState = true;
 
         var errorMessage = ev.errorFileName + " - " + ev.errorLineNumber + " : " + ev.errorMessage;
-        this.sendEvent(EditorEvents.ModalError, { title: "Player JavaScript Error", message: errorMessage });
+        this.sendEvent(Editor.EditorModalEventType, { title: "Player JavaScript Error", message: errorMessage });
 
         Atomic.graphics.raiseWindow();
 

+ 4 - 5
Script/AtomicEditor/ui/resourceEditors/AbstractTextResourceEditorBuilder.ts

@@ -20,7 +20,6 @@
 // THE SOFTWARE.
 //
 
-import EditorEvents = require("../../editor/EditorEvents");
 export abstract class AbstractTextResourceEditorBuilder implements Editor.Extensions.ResourceEditorBuilder {
 
     abstract canHandleResource(resourcePath: string): boolean;
@@ -49,8 +48,8 @@ export abstract class AbstractTextResourceEditorBuilder implements Editor.Extens
         // one time subscriptions waiting for the web view to finish loading.  This event
         // actually hits the editor instance before we can hook it, so listen to it on the
         // frame and then unhook it
-        editor.subscribeToEvent(EditorEvents.WebViewLoadEndEvent((data) => {
-            editor.unsubscribeFromEvent(EditorEvents.WebViewLoadEnd);
+        editor.subscribeToEvent(WebView.WebViewLoadEndEvent((data) => {
+            editor.unsubscribeFromEvent(WebView.WebViewLoadEndEventType);
             this.loadCode(<Editor.JSResourceEditor>editor, resourcePath);
         }));
 
@@ -68,12 +67,12 @@ export abstract class AbstractTextResourceEditorBuilder implements Editor.Extens
         //     }
         // });
 
-        editor.subscribeToEvent(EditorEvents.DeleteResourceNotificationEvent((data) => {
+        editor.subscribeToEvent(Editor.EditorDeleteResourceNotificationEvent((data) => {
             const webClient = editor.webView.webClient;
             webClient.executeJavaScript(`HOST_resourceDeleted("${this.getNormalizedPath(data.path)}");`);
         }));
 
-        editor.subscribeToEvent(EditorEvents.UserPreferencesChangedNotificationEvent((data: EditorEvents.UserPreferencesChangedEvent) => {
+        editor.subscribeToEvent(Editor.UserPreferencesChangedNotificationEvent((data: Editor.UserPreferencesChangedNotificationEvent) => {
             const webClient = editor.webView.webClient;
             webClient.executeJavaScript(`HOST_preferencesChanged('${data.projectPreferences}','${data.applicationPreferences}');`);
         }));

+ 1 - 2
Script/AtomicEditor/ui/resourceEditors/Scene3dResourceEditorBuilder.ts

@@ -19,7 +19,6 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 //
-import EditorEvents = require("../../editor/EditorEvents");
 
 export default class Scene3dResourceEditorBuilder implements Editor.Extensions.ResourceEditorBuilder {
 
@@ -31,7 +30,7 @@ export default class Scene3dResourceEditorBuilder implements Editor.Extensions.R
     getEditor(resourceFram: Atomic.UIWidget, resourcePath: string, tabContainer: Atomic.UITabContainer) : Editor.ResourceEditor {
 
         const editor = new Editor.SceneEditor3D(resourcePath, tabContainer);
-        editor.sendEvent(EditorEvents.ActiveSceneEditorChange, { sceneEditor: editor });
+        editor.sendEvent(Editor.EditorActiveSceneEditorChangeEventType, { sceneEditor: editor });
 
         return editor;
     }

+ 9 - 9
Script/AtomicWebViewEditor/clientExtensions/ClientExtensionServices.ts

@@ -115,9 +115,9 @@ export class WebViewServicesProvider extends ServicesProvider<Editor.ClientExten
 
     /**
      * Called when code is loaded
-     * @param  {Editor.EditorEvents.CodeLoadedEvent} ev Event info about the file that is being loaded
+     * @param  {Editor.ClientExtensions.CodeLoadedEvent} ev Event info about the file that is being loaded
      */
-    codeLoaded(ev: Editor.EditorEvents.CodeLoadedEvent) {
+    codeLoaded(ev: Editor.ClientExtensions.CodeLoadedEvent) {
         this.registeredServices.forEach((service) => {
             try {
                 // Notify services that the project has just been loaded
@@ -132,9 +132,9 @@ export class WebViewServicesProvider extends ServicesProvider<Editor.ClientExten
 
     /**
      * Called after code has been saved
-     * @param  {Editor.EditorEvents.SaveResourceEvent} ev
+     * @param  {Editor.ClientExtensions.SaveResourceEvent} ev
      */
-    saveCode(ev: Editor.EditorEvents.CodeSavedEvent) {
+    saveCode(ev: Editor.ClientExtensions.CodeSavedEvent) {
         // run through and find any services that can handle this.
         this.registeredServices.forEach((service) => {
             try {
@@ -151,7 +151,7 @@ export class WebViewServicesProvider extends ServicesProvider<Editor.ClientExten
     /**
      * Called when a resource has been deleted
      */
-    deleteResource(ev: Editor.EditorEvents.DeleteResourceEvent) {
+    deleteResource(ev: Editor.ClientExtensions.DeleteResourceEvent) {
         this.registeredServices.forEach((service) => {
             try {
                 // Verify that the service contains the appropriate methods and that it can delete
@@ -166,9 +166,9 @@ export class WebViewServicesProvider extends ServicesProvider<Editor.ClientExten
 
     /**
      * Called when a resource has been renamed
-     * @param  {Editor.EditorEvents.RenameResourceEvent} ev
+     * @param  {Editor.ClientExtensions.RenameResourceEvent} ev
      */
-    renameResource(ev: Editor.EditorEvents.RenameResourceEvent) {
+    renameResource(ev: Editor.ClientExtensions.RenameResourceEvent) {
         this.registeredServices.forEach((service) => {
             try {
                 // Verify that the service contains the appropriate methods and that it can handle the rename
@@ -199,9 +199,9 @@ export class WebViewServicesProvider extends ServicesProvider<Editor.ClientExten
 
     /**
      * Called when the editor is requesting to be configured for a particular file
-     * @param  {Editor.EditorEvents.EditorFileEvent} ev
+     * @param  {Editor.ClientExtensions.EditorFileEvent} ev
      */
-    configureEditor(ev: Editor.EditorEvents.EditorFileEvent) {
+    configureEditor(ev: Editor.ClientExtensions.EditorFileEvent) {
         this.registeredServices.forEach((service) => {
             try {
                 // Notify services that the project has just been loaded

+ 2 - 2
Script/AtomicWebViewEditor/clientExtensions/languageExtensions/javascript/JavascriptLanguageExtension.ts

@@ -54,9 +54,9 @@ export default class JavascriptLanguageExtension implements Editor.ClientExtensi
 
     /**
      * Called when the editor needs to be configured for a particular file
-     * @param  {Editor.EditorEvents.EditorFileEvent} ev
+     * @param  {Editor.ClientExtensions.EditorFileEvent} ev
      */
-    configureEditor(ev: Editor.EditorEvents.EditorFileEvent) {
+    configureEditor(ev: Editor.ClientExtensions.EditorFileEvent) {
         if (this.isValidFiletype(ev.filename)) {
             this.editor = ev.editor; // cache this so that we can reference it later
             this.active = true;

+ 3 - 3
Script/AtomicWebViewEditor/clientExtensions/languageExtensions/turbobadger/TurboBadgerLanguageExtension.ts

@@ -51,9 +51,9 @@ export default class TurboBadgerLanguageExtension implements Editor.ClientExtens
 
     /**
      * Called when the editor needs to be configured for a particular file
-     * @param  {Editor.EditorEvents.EditorFileEvent} ev
+     * @param  {Editor.ClientExtensions.EditorFileEvent} ev
      */
-    configureEditor(ev: Editor.EditorEvents.EditorFileEvent) {
+    configureEditor(ev: Editor.ClientExtensions.EditorFileEvent) {
         if (this.isValidFiletype(ev.filename)) {
             this.active = true;
             monaco.languages.register({ id: "turbobadger" });
@@ -73,7 +73,7 @@ export default class TurboBadgerLanguageExtension implements Editor.ClientExtens
      * Called when code is first loaded into the editor
      * @param  {CodeLoadedEvent} ev
      */
-    codeLoaded(ev: Editor.EditorEvents.CodeLoadedEvent) {
+    codeLoaded(ev: Editor.ClientExtensions.CodeLoadedEvent) {
         if (this.isValidFiletype(ev.filename)) {
             let editor = <monaco.editor.IStandaloneCodeEditor>ev.editor;
             editor.getModel().updateOptions({

+ 9 - 9
Script/AtomicWebViewEditor/clientExtensions/languageExtensions/typescript/TypescriptLanguageExtension.ts

@@ -127,9 +127,9 @@ export default class TypescriptLanguageExtension implements Editor.ClientExtensi
 
     /**
      * Called when the editor needs to be configured for a particular file
-     * @param  {Editor.EditorEvents.EditorFileEvent} ev
+     * @param  {Editor.ClientExtensions.EditorFileEvent} ev
      */
-    configureEditor(ev: Editor.EditorEvents.EditorFileEvent) {
+    configureEditor(ev: Editor.ClientExtensions.EditorFileEvent) {
         if (this.isValidFiletype(ev.filename)) {
             let editor = ev.editor as monaco.editor.IStandaloneCodeEditor;
             this.editor = editor; // cache this so that we can reference it later
@@ -223,7 +223,7 @@ export default class TypescriptLanguageExtension implements Editor.ClientExtensi
      * Called when code is first loaded into the editor
      * @param  {CodeLoadedEvent} ev
      */
-    codeLoaded(ev: Editor.EditorEvents.CodeLoadedEvent) {
+    codeLoaded(ev: Editor.ClientExtensions.CodeLoadedEvent) {
         if (this.isValidFiletype(ev.filename)) {
 
             // Build our worker
@@ -374,9 +374,9 @@ export default class TypescriptLanguageExtension implements Editor.ClientExtensi
 
     /**
      * Called once a resource has been saved
-     * @param  {Editor.EditorEvents.SaveResourceEvent} ev
+     * @param  {Editor.ClientExtensions.SaveResourceEvent} ev
      */
-    save(ev: Editor.EditorEvents.CodeSavedEvent) {
+    save(ev: Editor.ClientExtensions.CodeSavedEvent) {
         if (this.active && this.isValidFiletype(ev.filename)) {
             const message: WorkerProcessTypes.SaveMessageData = {
                 command: ClientExtensionEventNames.CodeSavedEvent,
@@ -392,9 +392,9 @@ export default class TypescriptLanguageExtension implements Editor.ClientExtensi
 
     /**
      * Handle the delete.  This should delete the corresponding javascript file
-     * @param  {Editor.EditorEvents.DeleteResourceEvent} ev
+     * @param  {Editor.ClientExtensions.DeleteResourceEvent} ev
      */
-    delete(ev: Editor.EditorEvents.DeleteResourceEvent) {
+    delete(ev: Editor.ClientExtensions.DeleteResourceEvent) {
         if (this.active && this.isValidFiletype(ev.path)) {
             // notify the typescript language service that the file has been deleted
             const message: WorkerProcessTypes.DeleteMessageData = {
@@ -408,9 +408,9 @@ export default class TypescriptLanguageExtension implements Editor.ClientExtensi
 
     /**
      * Handle the rename.  Should rename the corresponding .js file
-     * @param  {Editor.EditorEvents.RenameResourceEvent} ev
+     * @param  {Editor.ClientExtensions.RenameResourceEvent} ev
      */
-    rename(ev: Editor.EditorEvents.RenameResourceEvent) {
+    rename(ev: Editor.ClientExtensions.RenameResourceEvent) {
         if (this.active && this.isValidFiletype(ev.path)) {
             // notify the typescript language service that the file has been renamed
             const message: WorkerProcessTypes.RenameMessageData = {

+ 3 - 3
Script/AtomicWebViewEditor/clientExtensions/languageExtensions/typescript/workerprocess/workerProcessTypes.ts

@@ -28,10 +28,10 @@ export interface WorkerProcessMessageData {
     command: string;
 }
 
-export interface SaveMessageData extends WorkerProcessMessageData, Editor.EditorEvents.CodeSavedEvent { }
+export interface SaveMessageData extends WorkerProcessMessageData, Editor.ClientExtensions.CodeSavedEvent { }
 
-export interface DeleteMessageData extends WorkerProcessMessageData, Editor.EditorEvents.DeleteResourceEvent { }
-export interface RenameMessageData extends WorkerProcessMessageData, Editor.EditorEvents.RenameResourceEvent { }
+export interface DeleteMessageData extends WorkerProcessMessageData, Editor.ClientExtensions.DeleteResourceEvent { }
+export interface RenameMessageData extends WorkerProcessMessageData, Editor.ClientExtensions.RenameResourceEvent { }
 
 export const SetPreferences = "SET_PREFERENCES";
 export interface SetPreferencesMessageData extends WorkerProcessMessageData {

+ 4 - 4
Script/AtomicWebViewEditor/editor/editorCommands.ts

@@ -106,7 +106,7 @@ export function loadCodeIntoEditor(code: string, filename: string, fileExt: stri
  * @param  {string} newPath
  */
 export function resourceRenamed(path: string, newPath: string) {
-    let data: Editor.EditorEvents.RenameResourceEvent = {
+    let data: Editor.ClientExtensions.RenameResourceEvent = {
         path: path,
         newPath: newPath
     };
@@ -118,7 +118,7 @@ export function resourceRenamed(path: string, newPath: string) {
  * @param  {string} path
  */
 export function resourceDeleted(path: string) {
-    let data: Editor.EditorEvents.DeleteResourceEvent = {
+    let data: Editor.ClientExtensions.DeleteResourceEvent = {
         path: path
     };
     serviceLocator.sendEvent(ClientExtensionEventNames.ResourceDeletedEvent, data);
@@ -131,7 +131,7 @@ export function resourceDeleted(path: string) {
  * @param {string} contents
  */
 export function codeSaved(path: string, fileExt: string, contents: string) {
-    let data: Editor.EditorEvents.CodeSavedEvent = {
+    let data: Editor.ClientExtensions.CodeSavedEvent = {
         filename: path,
         fileExt: fileExt,
         editor: internalEditor.getInternalEditor(),
@@ -187,4 +187,4 @@ export function invokeShortcut(shortcut: Editor.EditorShortcutType) {
             ed.setSelection(ed.getModel().getFullModelRange());
             break;
     }
-}
+}

+ 64 - 153
Script/TypeScript/EditorWork.d.ts

@@ -10,145 +10,6 @@
 /// <reference path="ToolCore.d.ts" />
 /// <reference path="WebView.d.ts" />
 
-declare module Editor.EditorEvents {
-
-    export interface ModalErrorEvent {
-
-        title: string;
-        message: string;
-
-    }
-
-    export interface PlayerLogEvent {
-
-        message: string;
-        level: number;
-
-    }
-
-    export interface ActiveSceneEditorChangeEvent {
-
-        sceneEditor: Editor.SceneEditor3D;
-
-    }
-
-    export interface SceneClosedEvent {
-
-        scene: Atomic.Scene;
-
-    }
-
-    export interface ContentFolderChangedEvent {
-
-        path: string;
-
-    }
-
-    export interface LoadProjectEvent {
-
-        // The full path to the .atomic file
-        path: string;
-
-    }
-
-    /**
-     * Called once the resource has been saved
-     * @type {String}
-     */
-    export interface SaveResourceEvent {
-
-        // The full path to the resource to save / empty or undefined for current
-        path: string;
-
-    }
-
-    export interface LoadResourceEvent {
-
-        // The full path to the resource to load
-        path: string;
-
-    }
-
-    export interface EditorFileEvent {
-        filename: string;
-        fileExt: string;
-        editor: any;
-    }
-
-    export interface CodeLoadedEvent extends EditorFileEvent {
-        code: string;
-    }
-
-    export interface CodeSavedEvent extends EditorFileEvent {
-        code: string;
-    }
-
-    export interface EditorCloseResourceEvent {
-
-        editor: Editor.ResourceEditor;
-        navigateToAvailableResource: boolean;
-
-    }
-
-    export interface EditResourceEvent {
-
-        // The full path to the resource to edit
-        path: string;
-
-    }
-
-    /**
-     * Called once the resource has been deleted
-     * @type {String}
-     */
-    export interface DeleteResourceEvent {
-
-        // The full path to the resource to edit
-        path: string;
-
-    }
-
-    /**
-     * Called once the resource has been renamed
-     * @type {String}
-     */
-    export interface RenameResourceEvent {
-
-        /**
-         * Original path of the resource
-         * @type {string}
-         */
-        path: string;
-
-        /**
-         * New path of the resource
-         * @type {string}
-         */
-        newPath: string;
-
-        /**
-         * New base name of the resource (no path or extension)
-         * @type {string}
-         */
-        newName?: string;
-
-        // the asset being changed
-        asset?: ToolCore.Asset;
-    }
-
-    export interface SceneEditStateChangeEvent {
-
-        serializable: Atomic.Serializable;
-
-    }
-
-    export interface PreferencesChangedEvent {
-
-        preferences: any;
-
-    }
-}
-
 declare module Editor.Templates {
     // Commented out until the TSDoc gets updated to the latest version of TypeScript
     //export type TemplateType = "component" | "script";
@@ -294,19 +155,19 @@ declare module Editor.HostExtensions {
         /**
          * Called once a resource is saved
          */
-        save?(ev: EditorEvents.SaveResourceEvent);
+        save?(ev: Editor.EditorSaveResourceEvent);
         /**
          * Called when a resource is deleted
          */
-        delete?(ev: EditorEvents.DeleteResourceEvent);
+        delete?(ev: Editor.EditorDeleteResourceEvent);
         /**
          * Called when a resource is renamed
          */
-        rename?(ev: EditorEvents.RenameResourceEvent);
+        rename?(ev: Editor.EditorRenameResourceNotificationEvent);
         /**
          * Called when a resource is about to be edited
          */
-        edit?(ev: EditorEvents.EditResourceEvent);
+        edit?(ev: Editor.EditorEditResourceEvent);
     }
 
     export interface ResourceServicesProvider extends Editor.Extensions.ServicesProvider<ResourceServicesEventListener> {
@@ -315,7 +176,7 @@ declare module Editor.HostExtensions {
 
     export interface ProjectServicesEventListener extends Editor.Extensions.ServiceEventListener {
         projectUnloaded?();
-        projectLoaded?(ev: EditorEvents.LoadProjectEvent);
+        projectLoaded?(ev: Editor.EditorLoadProjectEvent);
         playerStarted?();
     }
     export interface ProjectServicesProvider extends Editor.Extensions.ServicesProvider<ProjectServicesEventListener> {
@@ -341,8 +202,8 @@ declare module Editor.HostExtensions {
     }
 
     export interface SceneServicesEventListener extends Editor.Extensions.ServiceEventListener {
-        activeSceneEditorChanged?(ev: EditorEvents.ActiveSceneEditorChangeEvent);
-        editorSceneClosed?(ev: EditorEvents.SceneClosedEvent);
+        activeSceneEditorChanged?(ev: Editor.EditorActiveSceneEditorChangeEvent);
+        editorSceneClosed?(ev: Editor.EditorSceneClosedEvent);
     }
     export interface SceneServicesProvider extends Editor.Extensions.ServicesProvider<SceneServicesEventListener> { }
 
@@ -398,6 +259,56 @@ declare module Editor.HostExtensions {
  */
 declare module Editor.ClientExtensions {
 
+    export interface EditorFileEvent {
+        filename: string;
+        fileExt: string;
+        editor: any;
+    }
+
+    export interface CodeLoadedEvent extends EditorFileEvent {
+        code: string;
+    }
+
+    export interface CodeSavedEvent extends EditorFileEvent {
+        code: string;
+    }
+
+    /**
+     * Called once the resource has been deleted
+     * @type {String}
+     */
+    export interface DeleteResourceEvent {
+
+        // The full path to the resource to edit
+        path: string;
+
+    }
+
+    /**
+     * Called once the resource has been renamed
+     * @type {String}
+     */
+    export interface RenameResourceEvent {
+
+        /**
+         * Original path of the resource
+         * @type {string}
+         */
+        path: string;
+
+        /**
+         * New path of the resource
+         * @type {string}
+         */
+        newPath: string;
+
+        /**
+         * New base name of the resource (no path or extension)
+         * @type {string}
+         */
+        newName?: string;
+    }
+
     /**
      * Generic service locator of editor services that may be injected by either a plugin
      * or by the editor itself.
@@ -418,16 +329,16 @@ declare module Editor.ClientExtensions {
     }
 
     export interface PreferencesChangedEventData {
-        applicationPreferences? : any,
-        projectPreferences? : any
+        applicationPreferences? : any;
+        projectPreferences? : any;
     }
 
     export interface WebViewServiceEventListener extends Editor.Extensions.EditorServiceExtension {
-        configureEditor?(ev: EditorEvents.EditorFileEvent);
-        codeLoaded?(ev: EditorEvents.CodeLoadedEvent);
-        save?(ev: EditorEvents.CodeSavedEvent);
-        delete?(ev: EditorEvents.DeleteResourceEvent);
-        rename?(ev: EditorEvents.RenameResourceEvent);
+        configureEditor?(ev: EditorFileEvent);
+        codeLoaded?(ev: CodeLoadedEvent);
+        save?(ev: CodeSavedEvent);
+        delete?(ev: DeleteResourceEvent);
+        rename?(ev: RenameResourceEvent);
         projectUnloaded?();
         formatCode?();
         preferencesChanged?(preferences: PreferencesChangedEventData);