/// <summary> /// Overidden function; additionally reloads the custom lighting file /// </summary> public override void OnCreateAllEngineInstances(ProgressStatus progress) { string meshAbsFilename = Path.Combine(this.LayerDirectoryName, "StaticLightingInfo.lit"); EditorManager.EngineManager.InitStaticLightingMode(meshAbsFilename); // load global lightgrid first EditorManager.EngineManager.ReloadLightingFiles(FileName, null); // removes extension for us... // scale down range (20%..90%) if (progress != null) progress.SetRange(progress.Percentage, 90.0f); base.OnCreateAllEngineInstances(progress); if (progress != null) { progress.SetRange(0.0f, 100.0f); // full range again progress.StatusString = "Reload lighting files"; } // reload lighting file EditorManager.EngineManager.ReloadStaticLightingMeshes(null, meshAbsFilename); string basename = FileNameNoExt + "_"; // also for every zone in the scene foreach (Zone zone in Zones) { if (!zone.Loaded) continue; meshAbsFilename = Path.Combine(this.LayerDirectoryName, "StaticLightingInfo_" + zone.ZoneName + ".lit"); EditorManager.EngineManager.ReloadStaticLightingMeshes(zone, meshAbsFilename); EditorManager.EngineManager.ReloadLightingFiles(basename + zone.ZoneName, zone); } // trigger the event EditorManager.TriggerSceneEvent(SceneEventArgs.Action.StaticLightingLoaded, true); if (progress != null) { progress.StatusString = "Finalizing..."; progress.Percentage = 98.0f; } }