/// <summary> /// Constructor /// </summary> /// <param name="defaultTemplateProvider">Default Template Provider</param> /// <param name="cachedDbAccess">Cached Db Access</param> /// <param name="languageKeyGenerator">Language Key Generator</param> /// <param name="scribanLanguageKeyGenerator">Scriban language key generator</param> /// <param name="conditionRenderer">Condition Renderer</param> /// <param name="legacyDailyRoutineEventPlaceholderResolver">Legacy Daily routine event placeholder resolver</param> /// <param name="dailyRoutineFunctionNameGenerator">Daily routine function name generator</param> /// <param name="actionTranslator">Action translator</param> /// <param name="nodeGraphParser">Node graph parser</param> /// <param name="nodeGraphFunctionGenerator">Node graph function generator</param> /// <param name="stringLocalizerFactory">String Localizer Factor</param> public ExportSnippetFunctionRenderer(ICachedExportDefaultTemplateProvider defaultTemplateProvider, IExportCachedDbAccess cachedDbAccess, ILanguageKeyGenerator languageKeyGenerator, IScribanLanguageKeyGenerator scribanLanguageKeyGenerator, IConditionRenderer conditionRenderer, ILegacyDailyRoutineEventPlaceholderResolver legacyDailyRoutineEventPlaceholderResolver, IDailyRoutineFunctionNameGenerator dailyRoutineFunctionNameGenerator, IActionTranslator actionTranslator, INodeGraphParser nodeGraphParser, IExportSnippetNodeGraphFunctionGenerator nodeGraphFunctionGenerator, IStringLocalizerFactory stringLocalizerFactory) : base(defaultTemplateProvider, cachedDbAccess, languageKeyGenerator, scribanLanguageKeyGenerator, conditionRenderer, legacyDailyRoutineEventPlaceholderResolver, dailyRoutineFunctionNameGenerator, actionTranslator, stringLocalizerFactory) { _nodeGraphParser = nodeGraphParser; _nodeGraphFunctionGenerator = nodeGraphFunctionGenerator; }
/// <summary> /// Constructor /// </summary> /// <param name="nodeGraphExporter">Node Graph Exporter</param> /// <param name="exportSnippetFunctionNameGenerator">Export Snippet node graph function name generator</param> /// <param name="nodeGraphRenderer">Node Graph Renderer</param> /// <param name="defaultTemplateProvider">Default Template Provider</param> /// <param name="cachedDbAccess">Cached Db Access</param> /// <param name="languageKeyGenerator">Language Key Generator</param> /// <param name="localizerFactory">Localizer Factory</param> public ExportSnippetTemplatePlaceholderResolver(INodeGraphExporter nodeGraphExporter, IExportSnippetNodeGraphFunctionGenerator exportSnippetFunctionNameGenerator, IExportSnippetNodeGraphRenderer nodeGraphRenderer, ICachedExportDefaultTemplateProvider defaultTemplateProvider, IExportCachedDbAccess cachedDbAccess, ILanguageKeyGenerator languageKeyGenerator, IStringLocalizerFactory localizerFactory) : base(localizerFactory.Create(typeof(ExportSnippetTemplatePlaceholderResolver))) { _nodeGraphExporter = nodeGraphExporter; _exportSnippetNodeGraphGenerator = exportSnippetFunctionNameGenerator; _nodeGraphRenderer = nodeGraphRenderer; _defaultTemplateProvider = defaultTemplateProvider; _cachedDbAccess = cachedDbAccess; _languageKeyGenerator = languageKeyGenerator; _renderedNodeGraphs = new Dictionary <string, ExportNodeGraphRenderResult>(); }
/// <summary> /// Constructor /// </summary> /// <param name="defaultTemplateProvider">Default Template Provider</param> /// <param name="cachedDbAccess">Cached Db Access</param> /// <param name="languageKeyGenerator">Language Key Generator</param> /// <param name="languageKeyDbAccess">Language Key Db Access</param> /// <param name="taleDbAccess">Dialog Db Access</param> /// <param name="dialogParser">Dialog Parser</param> /// <param name="dialogFunctionGenerator">Dialog Function Generator</param> /// <param name="dialogRenderer">Dialog Renderer</param> /// <param name="dailyRoutineEventPlaceholderResolver">Daily routine event placeholder resolver</param> /// <param name="dailyRoutineEventContentPlaceholderResolver">Daily routine event content placeholder resolver</param> /// <param name="nodeGraphExporter">Node Graph Exporter</param> /// <param name="exportSnippetNodeGraphRenderer">Export Snippet Node Graph Renderer</param> /// <param name="exportSnippetFunctionNameGenerator">Export Snippet Function Name Generator</param> /// <param name="localizerFactory">Localizer Factory</param> public ExportTemplatePlaceholderResolver(ICachedExportDefaultTemplateProvider defaultTemplateProvider, IExportCachedDbAccess cachedDbAccess, ILanguageKeyGenerator languageKeyGenerator, ILanguageKeyDbAccess languageKeyDbAccess, ITaleDbAccess taleDbAccess, IExportDialogParser dialogParser, IExportDialogFunctionGenerator dialogFunctionGenerator, IExportDialogRenderer dialogRenderer, IDailyRoutineEventPlaceholderResolver dailyRoutineEventPlaceholderResolver, IDailyRoutineEventContentPlaceholderResolver dailyRoutineEventContentPlaceholderResolver, INodeGraphExporter nodeGraphExporter, IExportSnippetNodeGraphRenderer exportSnippetNodeGraphRenderer, IExportSnippetNodeGraphFunctionGenerator exportSnippetFunctionNameGenerator, IStringLocalizerFactory localizerFactory) { _localizerFactory = localizerFactory; _exportTemplatePlaceholderResolvers = new List <IExportTemplateTopicPlaceholderResolver>(); // Order of exporting is determined by the order in which these are added, thats why the order is important _exportTemplatePlaceholderResolvers.Add(new ExportSnippetTemplatePlaceholderResolver(nodeGraphExporter, exportSnippetFunctionNameGenerator, exportSnippetNodeGraphRenderer, defaultTemplateProvider, cachedDbAccess, languageKeyGenerator, localizerFactory)); _exportTemplatePlaceholderResolvers.Add(new NpcInventoryExportTemplatePlaceholderResolver(defaultTemplateProvider, cachedDbAccess, languageKeyGenerator, localizerFactory)); _exportTemplatePlaceholderResolvers.Add(new NpcSkillExportTemplatePlaceholderResolver(defaultTemplateProvider, cachedDbAccess, languageKeyGenerator, localizerFactory)); _exportTemplatePlaceholderResolvers.Add(new NpcDailyRoutineExportPlaceholderResolver(defaultTemplateProvider, cachedDbAccess, dailyRoutineEventPlaceholderResolver, dailyRoutineEventContentPlaceholderResolver, languageKeyGenerator, localizerFactory)); _exportTemplatePlaceholderResolvers.Add(new FlexFieldExportTemplatePlaceholderResolver(defaultTemplateProvider, cachedDbAccess, languageKeyGenerator, localizerFactory)); _exportTemplatePlaceholderResolvers.Add(new DialogExportTemplatePlaceholderResolver(cachedDbAccess, languageKeyGenerator, taleDbAccess, dialogParser, dialogFunctionGenerator, dialogRenderer, localizerFactory)); _exportTemplatePlaceholderResolvers.Add(new LanguageKeyTemplatePlaceholderResolver(defaultTemplateProvider, cachedDbAccess, languageKeyDbAccess, localizerFactory)); }