public override void Entry(IModHelper helper) { Logger.Init(this.Monitor); EffectHelper.Init(helper, helper.ReadConfig <SkillfulClothesConfig>()); if (EffectHelper.Config.LoadCustomEffectDefinitions) { CustomEffectDefinitions.LoadCustomEffectDefinitions(); } HarmonyPatches.Apply(this.ModManifest.UniqueID); ShopPatches.Apply(helper); TailoringPatches.Apply(helper); clothingObserver = EffectHelper.ClothingObserver; helper.Events.GameLoop.GameLaunched += GameLoop_GameLaunched; helper.Events.GameLoop.UpdateTicked += GameLoop_UpdateTicked; helper.Events.GameLoop.DayStarted += GameLoop_DayStarted; helper.Events.GameLoop.DayEnding += GameLoop_DayEnding; helper.Events.GameLoop.ReturnedToTitle += GameLoop_ReturnedToTitle; }
public static Task <ILanguageServer> From(Action <LanguageServerOptions, PapyrusLanguageServerOptions> optionsAction) { var papyrusOptions = new PapyrusLanguageServerOptions(); return(LanguageServer.From((options) => { optionsAction(options, papyrusOptions); options.WithServices((collection) => collection .AddSingleton <IFileSystem, LocalFileSystem>() .AddSingleton <IXmlProjectLocator, FileSystemXmlProjectLocator>() .AddSingleton <IXmlProjectDeserializer, XmlProjectDeserializer>() .AddSingleton <IXmlProjectLoader, FileSystemXmlProjectLoader>() .AddSingleton <IScriptTextProvider, TextDocumentScriptTextProvider>((provider) => { var textProvider = provider.CreateInstance <TextDocumentScriptTextProvider>( provider.CreateInstance <FileSystemScriptTextProvider>()); AntlrPatch.SetTextProvider(textProvider); return textProvider; }) .AddSingleton <ICreationKitInisLocator>(new CreationKitInisLocator(papyrusOptions.IniLocations)) .AddSingleton <ICreationKitConfigLoader, CreationKitInisConfigLoader>() .AddSingleton((provider) => provider.CreateInstance <CreationKitProgramOptionsProvider>( papyrusOptions.AmbientProjectName, papyrusOptions.FlagsFileName, papyrusOptions.DefaultCreationKitConfig)) .AddSingleton <IProgramOptionsProvider>((provider) => provider.CreateInstance <ProjectProgramOptionsProvider>(papyrusOptions.FlagsFileName)) .AddSingleton <ProjectManager>()) .WithHandler <WorkspaceManager>() .WithHandler <DefinitionHandler>() .WithHandler <DocumentSymbolHandler>() .WithHandler <DocumentSyntaxTreeHandler>() .WithHandler <HoverHandler>() .WithHandler <CompletionHandler>() .WithHandler <SignatureHelpHandler>() .WithHandler <ReferencesHandler>() .WithHandler <RenameHandler>() .WithHandler <DocumentScriptInfoHandler>() .WithHandler <DocumentAssemblyHandler>() .WithHandler <ProjectInfosHandler>(); HarmonyPatches.Apply(); })); }