/// <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>();
 }
예제 #2
0
        /// <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));
        }