/// <summary> /// Create and return a new SimScene from this definition. /// </summary> /// <returns>A new scene configured like this definition.</returns> public SimScene createScene() { SimScene scene = new SimScene(); foreach (SimElementManagerDefinition elementManagerDef in elementManagers) { scene.addSimElementManager(elementManagerDef.createSimElementManager()); } foreach (SimSubSceneDefinition subSceneDef in subSceneDefinitions.Values) { subSceneDef.createSubScene(scene); } if (DefaultSubScene != null) { SimSubScene subScene = scene.getSubScene(DefaultSubScene); if (subScene != null) { scene.setDefaultSubScene(subScene); } else { Log.Default.sendMessage("The defined default scene {0} can not be found in the created scene. No default set.", LogLevel.Warning, "Engine", DefaultSubScene); } } else { Log.Default.sendMessage("No default scene defined. No default set.", LogLevel.Warning, "Engine"); } return(scene); }