public ListenerResult HandleEvent(IEvent evt) { var evtName = evt.GetName(); switch (evtName) { case EventWorkspaceSwitch.EventName: //Debug.Log("WorkspaceManager.HandleEvent " + evtName); var newWorkspace = (IWorkspace)evt.GetData(); SwitchWorkspace(newWorkspace); return(ListenerResult.Handled); case EventWorkspaceLoad.EventName: //Debug.Log("WorkspaceManager.HandleEvent " + evtName); var loadFilePath = (string)evt.GetData(); _currentWorkspace.LoadWorkspace(loadFilePath); //TODO validate return(ListenerResult.Handled); case EventWorkspaceSave.EventName: //Debug.Log("WorkspaceManager.HandleEvent " + evtName); var saveFilepath = (string)evt.GetData(); _currentWorkspace.SaveWorkspace(saveFilepath); //TODO validate return(ListenerResult.Handled); case EventWorkspaceClear.EventName: //Debug.Log("WorkspaceManager.HandleEvent " + evtName); _currentWorkspace.ClearWorkspace(); //TODO validate return(ListenerResult.Handled); case EventWorkspaceNew.EventName: //Debug.Log("WorkspaceManager.HandleEvent " + evtName); var type = (WorkspaceType)evt.GetData(); NewWorkspace(type); return(ListenerResult.Handled); } return(ListenerResult.Ignored); }