// WingsEmu // // Developed by NosWings Team using System; using Microsoft.Extensions.DependencyInjection; using Plugin.ResourceLoader.Loaders; using Plugin.ResourceLoader.Services; using WingsAPI.Data.ActDesc; using WingsAPI.Data.GameData; using WingsAPI.Plugins; using WingsEmu.DTOs.Buffs; using WingsEmu.DTOs.Items; using WingsEmu.DTOs.Maps; using WingsEmu.DTOs.NpcMonster; using WingsEmu.DTOs.Quests; using WingsEmu.DTOs.Skills; using WingsEmu.Game._i18n; using WingsEmu.Game.Algorithm; namespace Plugin.ResourceLoader { public class FileResourceLoaderPlugin : IDependencyInjectorPlugin { public string Name => nameof(FileResourceLoaderPlugin); public void AddDependencies(IServiceCollection services) { services.AddSingleton(s => new ResourceLoadingConfiguration(Environment.GetEnvironmentVariable("WINGSEMU_RESOURCE_PATH") ?? "resources")); services.AddSingleton, ItemResourceFileLoader>(); services.AddSingleton, SkillResourceFileLoader>(); services.AddSingleton, NpcMonsterFileLoader>(); services.AddSingleton, CardResourceFileLoader>(); services.AddSingleton, MapResourceFileLoader>(); services.AddSingleton, QuestResourceFileLoader>(); services.AddSingleton, TutorialResourceFileLoader>(); services.AddSingleton, NpcQuestResourceFileLoader>(); services.AddSingleton, ActDescResourceFileLoader>(); services.AddSingleton, GameDataLanguageFileLoader>(); services.AddSingleton(); services.AddSingleton(); services.AddHostedService(); } } public class GameResourceLoaderPlugin : IGameServerPlugin { public string Name => nameof(FileResourceLoaderPlugin); public void AddDependencies(IServiceCollection services, GameServerLoader gameServer) { services.AddSingleton, GenericTranslationGrpcLoader>(); services.AddSingleton(); services.AddHostedService(); } } }