Renamed interface to IOnLoad
Added OnLoad mod Expanded `OnLoadOrder` options
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user