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; | |||
|  |     } | |||
|  | 
 | |||
|  | } |