using System.Collections.Generic; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using PhoenixLib.Configuration; using PhoenixLib.Events; using Plugin.QuestImpl.Managers; using WingsAPI.Plugins; using WingsEmu.Game.Configurations; using WingsEmu.Game.Quests; using WingsEmu.Game.Quests.Configurations; namespace Plugin.QuestImpl { public class QuestPluginCore : IGameServerPlugin { public string Name => nameof(QuestPluginCore); public void AddDependencies(IServiceCollection services, GameServerLoader gameServer) { services.AddEventHandlersInAssembly(); services.AddRunScriptHandlers(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(s => s.GetRequiredService()); services.AddFileConfiguration("quests_rates_configuration"); services.AddFileConfiguration("general_quests_configuration"); services.AddFileConfiguration("sound_flower_configuration"); services.AddMultipleConfigurationOneFile("npc_run_type_quests_configuration"); services.AddFileConfiguration("quest_teleport_dialog_configuration"); services.AddFileConfiguration(new PeriodicQuestsConfiguration { DailyQuests = new HashSet { new() } }); } } }