26 lines
		
	
	
		
			1002 B
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			1002 B
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | namespace UnrealSharpBuildTool.Actions; | |||
|  | 
 | |||
|  | public abstract class BuildToolAction | |||
|  | { | |||
|  |     public static bool InitializeAction() | |||
|  |     { | |||
|  |         BuildToolAction buildToolAction = Program.BuildToolOptions.Action switch | |||
|  |         { | |||
|  |             BuildAction.Build => new BuildUserSolution(), | |||
|  |             BuildAction.Clean => new CleanSolution(), | |||
|  |             BuildAction.GenerateProject => new GenerateProject(), | |||
|  |             BuildAction.UpdateProjectDependencies => new UpdateProjectDependencies(), | |||
|  |             BuildAction.Rebuild => new RebuildSolution(), | |||
|  |             BuildAction.Weave => new WeaveProject(), | |||
|  |             BuildAction.PackageProject => new PackageProject(), | |||
|  |             BuildAction.GenerateSolution => new GenerateSolution(), | |||
|  |             BuildAction.BuildWeave => new BuildWeave(), | |||
|  |             _ => throw new Exception($"Can't find build action with name \"{Program.BuildToolOptions.Action}\"") | |||
|  |         }; | |||
|  | 
 | |||
|  |         return buildToolAction.RunAction(); | |||
|  |     } | |||
|  | 
 | |||
|  |     public abstract bool RunAction(); | |||
|  | } |