コード例 #1
0
 public void createScene()
 {
     scene       = sceneDefinition.createScene();
     scene.Scope = pluginManager.GlobalScope.ServiceProvider.CreateScope(); //Disposed in destroyscene
     if (OnSceneLoading != null)
     {
         OnSceneLoading.Invoke(this, scene);
     }
     createSimObjects();
     if (OnSceneLoaded != null)
     {
         OnSceneLoaded.Invoke(this, scene);
     }
     foreach (DebugInterface debugInterface in controller.PluginManager.DebugInterfaces)
     {
         debugInterface.createDebugInterface(controller.PluginManager.RendererPlugin, scene.getDefaultSubScene());
     }
 }
コード例 #2
0
        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);
        }