private void commonShowScene(AnomalyController anomalyController) { if (!shown) { if (editInterface != null) { editInterface.IconReferenceTag = AnomalyIcons.ProjectBuilt; } shown = true; anomalyController.ResourceController.addResources(resourceFileInterface.getFileObject()); instanceGroup.showInstances(anomalyController.SimObjectController); foreach (ProjectReference reference in projectData.ProjectReferences.ReferencedProjectNames) { Project subProject = solution.getProject(reference.ProjectName); if (subProject != null) { subProject.commonShowScene(anomalyController); } else { Log.Error("Could not find referenced project {0} for project {1}. Project could not be shown.", reference.ProjectName, Name); } } } }
public void loadExternalFiles(AnomalyController controller) { if (File.Exists(solutionFile)) { try { using (var stream = File.Open(solutionFile, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read)) { solutionData = saver.restoreObject <SolutionData>(stream); } } catch (Exception e) { Log.Error("Could not load solution data file {0} because:\n{1}", solutionFile, e.Message); } } if (solutionData == null) { solutionData = new SolutionData(); } this.anomalyController = controller; String globalResourcesFile = Path.Combine(workingDirectory, "Resources.xml"); if (!File.Exists(globalResourcesFile)) { ResourceManager globalResources = controller.PluginManager.createScratchResourceManager(); using (var stream = File.Open(globalResourcesFile, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite, System.IO.FileShare.None)) { saver.saveObject(globalResources, stream); } } resourceFileInterface = new ResourceManagerFileInterface("Global Resources", EngineIcons.Resource, globalResourcesFile, anomalyController.ResourceController.GlobalResources); anomalyController.ResourceController.GlobalResources.addResources(resourceFileInterface.getFileObject()); anomalyController.ResourceController.GlobalResources.initializeResources(); foreach (String projectFile in Directory.GetFiles(workingDirectory, "*.prj", SearchOption.AllDirectories)) { Project project = new Project(this, Path.GetFileNameWithoutExtension(projectFile), Path.GetDirectoryName(projectFile)); addProject(project); if (currentProject == null) { currentProject = project; } } }
public void refreshGlobalResources() { if (currentProject != null) { currentProject.unloadScene(anomalyController); anomalyController.ResourceController.clearResources(); anomalyController.ResourceController.applyToScene(); } anomalyController.ResourceController.GlobalResources.changeResourcesToMatch(resourceFileInterface.getFileObject()); anomalyController.ResourceController.GlobalResources.initializeResources(); createCurrentProject(); }