40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| namespace UnrealSharpBuildTool.Actions;
 | |
| 
 | |
| public class BuildWeave : BuildToolAction
 | |
| {
 | |
|     public override bool RunAction()
 | |
|     {
 | |
|         BuildSolution buildSolution = new BuildUserSolution();
 | |
|         WeaveProject weaveProject = new WeaveProject();
 | |
|         return buildSolution.RunAction() && weaveProject.RunAction() && AddLaunchSettings();
 | |
|     }
 | |
|     
 | |
|     bool AddLaunchSettings()
 | |
|     {
 | |
|         List<FileInfo> allProjectFiles = Program.GetAllProjectFiles(new DirectoryInfo(Program.GetProjectDirectory()));
 | |
| 
 | |
|         foreach (FileInfo projectFile in allProjectFiles)
 | |
|         {
 | |
|             if (projectFile.Directory!.Name.EndsWith(".Glue"))
 | |
|             {
 | |
|                 continue;
 | |
|             }
 | |
|             
 | |
|             string csProjectPath = Path.Combine(Program.GetScriptFolder(), projectFile.Directory.Name);
 | |
|             string propertiesDirectoryPath = Path.Combine(csProjectPath, "Properties");
 | |
|             string launchSettingsPath = Path.Combine(propertiesDirectoryPath, "launchSettings.json");
 | |
|             if (!Directory.Exists(propertiesDirectoryPath))
 | |
|             {
 | |
|                 Directory.CreateDirectory(propertiesDirectoryPath);
 | |
|             }
 | |
|             if (File.Exists(launchSettingsPath))
 | |
|             {
 | |
|                 return true;
 | |
|             }
 | |
|             Program.CreateOrUpdateLaunchSettings(launchSettingsPath);
 | |
|         }
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
| }
 |