public static Task CreateIn(CodeGeneratorContext context, string directoryFullName) { CodeGeneration_Story.CreateProjectFile(context); if (!context.RequestHandlers.ContainsKey("AMAZON.StopIntent")) { CodeGeneration_Interaction.AddIntent(context, new List <string> { "stop" }, new CodeStatementCollection()); } UpdatePipeline((CodeCompileUnit)context.OtherFiles["Pipeline.cs"], context.RequestHandlers.Keys.ToArray()); CodeGeneration_Fallback.Ensure(context); var json = JsonSerializer.Create(new JsonSerializerSettings { Formatting = Newtonsoft.Json.Formatting.Indented }); using (var csharp = CodeDomProvider.CreateProvider(CodeDomProvider.GetLanguageFromExtension(".cs"))) { var sceneFileDirectory = Path.Combine(directoryFullName, "Scenes"); var handlerFileDirectory = Path.Combine(directoryFullName, "RequestHandlers"); Directory.CreateDirectory(sceneFileDirectory); Directory.CreateDirectory(handlerFileDirectory); return(Task.WhenAll( OutputRootFiles(context.OtherFiles, csharp, json, directoryFullName), OutputSkillManifest(context, json, directoryFullName), OutputSceneFiles(context.SceneFiles, csharp, sceneFileDirectory), OutputRequestHandlers(context.RequestHandlers, csharp, handlerFileDirectory) )); } }
protected override Task Begin(Story story, CodeGeneratorContext context) { CodeGeneration_Story.CreateStoryFiles(context); return(base.Begin(story, context)); }