コード例 #1
0
        /// <summary>
        /// Builds the daily routine functions
        /// </summary>
        /// <param name="inputNpc">Npc</param>
        /// <param name="dailyRoutine">Daily routine list</param>
        /// <returns>Function list</returns>
        private async Task <List <ScribanExportDailyRoutineFunction> > BuildDailyRoutineFunctions(KortistoNpc inputNpc, List <KortistoNpcDailyRoutineEvent> dailyRoutine)
        {
            if (dailyRoutine == null || !dailyRoutine.Any())
            {
                return(new List <ScribanExportDailyRoutineFunction>());
            }

            _dailyRoutineFunctionRenderer.SetErrorCollection(_errorCollection);
            _dailyRoutineFunctionRenderer.SetExportTemplatePlaceholderResolver(_templatePlaceholderResolver);

            List <DailyRoutineFunction> functions = await _dailyRoutineFunctionRenderer.RenderDailyRoutineFunctions(dailyRoutine, inputNpc);

            return(functions.Select(f => new ScribanExportDailyRoutineFunction(f)).ToList());
        }
コード例 #2
0
        /// <summary>
        /// Replaces the function list
        /// </summary>
        /// <param name="project">Current project</param>
        /// <param name="npc">Npc for which the daily routine functions must be rendered</param>
        /// <returns>Rendered function list</returns>
        private async Task <string> ReplaceFunctionList(GoNorthProject project, KortistoNpc npc)
        {
            ExportTemplate dailyRoutineFunctionListTemplate = await _defaultTemplateProvider.GetDefaultTemplateByType(project.Id, TemplateType.ObjectDailyRoutineFunctionList);

            if (dailyRoutineFunctionListTemplate.RenderingEngine == ExportTemplateRenderingEngine.Scriban)
            {
                _dailyRoutineFunctionRenderer.SetErrorCollection(_errorCollection);

                List <DailyRoutineFunction> functions = await _dailyRoutineFunctionRenderer.RenderDailyRoutineFunctions(npc.DailyRoutine, npc);

                ExportObjectData objectData = new ExportObjectData();
                objectData.ExportData.Add(ExportConstants.ExportDataObject, functions);

                ExportPlaceholderFillResult fillResult = await _placeholderResolver.FillPlaceholders(TemplateType.ObjectDailyRoutineFunctionList, dailyRoutineFunctionListTemplate.Code, objectData, dailyRoutineFunctionListTemplate.RenderingEngine);

                _errorCollection.Merge(fillResult.Errors);
                return(fillResult.Code);
            }
            else
            {
                return(dailyRoutineFunctionListTemplate.Code);
            }
        }
 /// <summary>
 /// Sets the error collection
 /// </summary>
 /// <param name="errorCollection">Error collection</param>
 public void SetErrorCollection(ExportPlaceholderErrorCollection errorCollection)
 {
     _dailyRoutineFunctionRenderer.SetErrorCollection(errorCollection);
 }