public void createCurrentProject() { anomalyController.ResourceController.clearResources(); if (currentProject != null) { currentProject.showScene(anomalyController); } else //Create an empty scene { SimSceneDefinition sceneDefinition = new SimSceneDefinition(); anomalyController.SceneController.setSceneDefinition(sceneDefinition); SimObjectManagerDefinition simObjectManager = new SimObjectManagerDefinition(); anomalyController.SimObjectController.setSceneManagerDefintion(simObjectManager); } anomalyController.ResourceController.applyToScene(); }
private IEnumerable <IdleStatus> finishInitialization(String defaultModel) { yield return(IdleStatus.Ok); splashScreen.updateStatus(15, "Loading Resources"); VirtualFileSystem.Instance.addArchive(OgreModelEditorConfig.VFSRoot); emptyResourceManager = pluginManager.createScratchResourceManager(); liveResourceManager = pluginManager.createLiveResourceManager("Scene"); resourceManager = pluginManager.createScratchResourceManager(); yield return(IdleStatus.Ok); splashScreen.updateStatus(40, "Creating GUI"); //Initialize controllers modelController = new ModelController(this); //Create the GUI consoleWindow = new LogWindow(); guiManager.addManagedDialog(consoleWindow); consoleWindow.Visible = true; Log.Default.addLogListener(consoleWindow); virtualTextureDebugger = new VirtualTextureDebugger(virtualTextureLink.VirtualTextureManager); guiManager.addManagedDialog(virtualTextureDebugger); textureCompiler = new TextureCompilerGUI(pluginManager, mainWindow); textureCompiler.CurrentSrc = OgreModelEditorConfig.LastTextureCompilerSourceDirectory; guiManager.addManagedDialog(textureCompiler); materialEditor = new MDIObjectEditor("Materials", "MaterialEditor", false); guiManager.addManagedDialog(materialEditor); materialEditor.CurrentDockLocation = DockLocation.Left; materialEditor.Visible = true; materialEditor.EditInterface = materialController.EditInterface; yield return(IdleStatus.Ok); splashScreen.updateStatus(70, "Creating Scene"); //Create a simple scene to use to show the models SimSceneDefinition sceneDefiniton = new SimSceneDefinition(); OgreSceneManagerDefinition ogreScene = new OgreSceneManagerDefinition("Ogre"); SimSubSceneDefinition mainSubScene = new SimSubSceneDefinition("Main"); sceneDefiniton.addSimElementManagerDefinition(ogreScene); sceneDefiniton.addSimSubSceneDefinition(mainSubScene); mainSubScene.addBinding(ogreScene); sceneDefiniton.DefaultSubScene = "Main"; scene = sceneDefiniton.createScene(); sceneViewController.createCameras(scene); lightManager.sceneLoaded(scene); objectMover.sceneLoaded(scene); virtualTextureLink.sceneLoaded(scene); yield return(IdleStatus.Ok); if (!String.IsNullOrEmpty(defaultModel)) { splashScreen.updateStatus(80, "Loading Model"); openModel(defaultModel); yield return(IdleStatus.Ok); } splashScreen.updateStatus(100, "Loaded"); splashScreen.hide(); yield return(IdleStatus.Ok); }
public Project(Solution solution, String name, String workingDirectory) { this.solution = solution; this.name = name; this.workingDirectory = workingDirectory; String instancesPath = Path.Combine(workingDirectory, "Instances"); instanceGroup = new InstanceGroup("Instances", instancesPath); if (!Directory.Exists(instancesPath)) { InstanceWriter.Instance.addInstanceGroup(instanceGroup); } else { InstanceWriter.Instance.scanForFiles(instanceGroup); } projectFile = Path.Combine(WorkingDirectory, Name + ".prj"); if (File.Exists(projectFile)) { try { using (var stream = File.Open(projectFile, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read)) { projectData = saver.restoreObject <ProjectData>(stream); } } catch (Exception e) { Log.Error("Could not load project references file {0} because:\n{1}", projectFile, e.Message); } } if (projectData == null) { projectData = new ProjectData(); projectData.SceneFileName = name + ".sim.xml"; } String resourcesFile = Path.Combine(workingDirectory, "Resources.xml"); if (!File.Exists(resourcesFile)) { ResourceManager resources = PluginManager.Instance.createScratchResourceManager(); using (var stream = File.Open(resourcesFile, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite, System.IO.FileShare.None)) { saver.saveObject(resources, stream); } } String sceneDefinitionFile = Path.Combine(workingDirectory, "SceneDefinition.xml"); if (!File.Exists(sceneDefinitionFile)) { SimSceneDefinition sceneDefinition = new SimSceneDefinition(); using (var stream = File.Open(sceneDefinitionFile, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite, System.IO.FileShare.None)) { saver.saveObject(sceneDefinition, stream); } } resourceFileInterface = new ResourceManagerFileInterface("Resources", EngineIcons.Resource, resourcesFile, solution.GlobalResources); sceneFileInterface = new SimSceneFileInterface("Scene Definition", EngineIcons.Scene, sceneDefinitionFile); }
public void setSceneDefinition(SimSceneDefinition sceneDefinition) { this.sceneDefinition = sceneDefinition; }