Renamed interface to IOnLoad

Added OnLoad mod
Expanded `OnLoadOrder` options
This commit is contained in:
Chomp
2025-02-08 12:18:57 +00:00
parent 212dfd0d65
commit ac7b2daeba
19 changed files with 80 additions and 36 deletions
@@ -10,17 +10,12 @@ namespace ExampleMods.Mods._6ReplaceMethod
public class ReplaceMethod: Watermark
{
public ReplaceMethod(
ISptLogger<Watermark> logger,
ISptLogger<Watermark> logger, // The logger needs to use the same type as the overriden type (in this case, Watermark)
ConfigServer configServer,
LocalisationService localisationService,
WatermarkLocale watermarkLocale)
: base(logger, configServer, localisationService, watermarkLocale)
{
_configServer = configServer;
_localisationService = localisationService;
_watermarkLocale = watermarkLocale;
_logger = logger;
}
: base(logger, configServer, localisationService, watermarkLocale) // You must provide the parameters the overridden type requires
{ }
public override void Initialize()
{
@@ -11,9 +11,9 @@ namespace ExampleMods.Mods._7UseMultipleClasses
private readonly ISptLogger<UseMultipleClasses> _logger;
public UseMultipleClasses(
ISptLogger<UseMultipleClasses> _logger)
ISptLogger<UseMultipleClasses> logger)
{
this._logger = _logger;
this._logger = logger;
}
public void PostDBLoad()
+33
View File
@@ -0,0 +1,33 @@
using Core.DI;
using Core.Models.Utils;
using SptCommon.Annotations;
namespace ExampleMods.Mods._8AddOnLoad
{
// Flag class as being OnLoad and give it a load priority, check `OnLoadOrder` for list of possible choices
[Injectable(InjectableTypeOverride = typeof(IOnLoad), TypePriority = OnLoadOrder.PostSptDatabase)]
[Injectable(InjectableTypeOverride = typeof(AddOnLoad))]
public class AddOnLoad : IOnLoad // Must implement the IOnLoad interface
{
private readonly ISptLogger<AddOnLoad> _logger;
public AddOnLoad(
ISptLogger<AddOnLoad> logger)
{
_logger = logger;
}
public Task OnLoad()
{
// Can do work here
_logger.Success($"Mod loaded after database!");
return Task.CompletedTask;
}
public string GetRoute()
{
return "mod-load-example";
}
}
}
+13
View File
@@ -0,0 +1,13 @@
{
"Name": "8AddOnLoad",
"Version": "1.0.0",
"SptVersion": "~4.0",
"LoadBefore": [],
"LoadAfter": [],
"IncompatibileMods": [],
"Url": "https://github.com/sp-tarkov/server-csharp/tree/develop/ExampleMods/Mods",
"IsBundleMod": false,
"Author": "SPT",
"Contributors": [],
"Licence": "MIT"
}