예제 #1
0
        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);
        }