Updated OnUpdate to return task<bool>
This commit is contained in:
@@ -17,10 +17,10 @@ public class DialogueCallbacks(
|
||||
)
|
||||
: IOnUpdate
|
||||
{
|
||||
public Task OnUpdate(long timeSinceLastRun)
|
||||
public Task<bool> OnUpdate(long timeSinceLastRun)
|
||||
{
|
||||
_dialogueController.Update();
|
||||
return Task.CompletedTask;
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -20,12 +20,12 @@ public class HideoutCallbacks(
|
||||
private readonly HideoutConfig _hideoutConfig = _configServer.GetConfig<HideoutConfig>();
|
||||
private long _lastRunOnUpdateTimestamp = long.MaxValue;
|
||||
|
||||
public Task OnUpdate(long secondsSinceLastRun)
|
||||
public Task<bool> OnUpdate(long secondsSinceLastRun)
|
||||
{
|
||||
if (_timeUtil.GetTimeStamp() <= _lastRunOnUpdateTimestamp + _hideoutConfig.RunIntervalSeconds)
|
||||
{
|
||||
// Not enough time has passed since last run, exit early
|
||||
return Task.CompletedTask;
|
||||
return Task.FromResult(false);
|
||||
}
|
||||
|
||||
_hideoutController.Update();
|
||||
@@ -33,7 +33,7 @@ public class HideoutCallbacks(
|
||||
// Store last completion time for later use
|
||||
_lastRunOnUpdateTimestamp = _timeUtil.GetTimeStamp();
|
||||
|
||||
return Task.CompletedTask;
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -16,20 +16,27 @@ public class InsuranceCallbacks(
|
||||
InsuranceController _insuranceController,
|
||||
InsuranceService _insuranceService,
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
ConfigServer _configServer
|
||||
ConfigServer _configServer,
|
||||
TimeUtil _timeUtil
|
||||
)
|
||||
: IOnUpdate
|
||||
{
|
||||
private readonly InsuranceConfig _insuranceConfig = _configServer.GetConfig<InsuranceConfig>();
|
||||
private long _lastRunOnUpdateTimestamp = long.MaxValue;
|
||||
|
||||
public Task OnUpdate(long timeSinceLastRun)
|
||||
public Task<bool> OnUpdate(long secondsSinceLastRun)
|
||||
{
|
||||
if (timeSinceLastRun > Math.Max(_insuranceConfig.RunIntervalSeconds, 1))
|
||||
if (_timeUtil.GetTimeStamp() <= _lastRunOnUpdateTimestamp + _insuranceConfig.RunIntervalSeconds)
|
||||
{
|
||||
_insuranceController.ProcessReturn();
|
||||
return Task.FromResult(false);
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
_insuranceController.ProcessReturn();
|
||||
|
||||
// Store last completion time for later use
|
||||
_lastRunOnUpdateTimestamp = _timeUtil.GetTimeStamp();
|
||||
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -32,12 +32,12 @@ public class RagfairCallbacks(
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public Task OnUpdate(long secondsSinceLastRun)
|
||||
public Task<bool> OnUpdate(long secondsSinceLastRun)
|
||||
{
|
||||
if (_timeUtil.GetTimeStamp() <= _lastRunOnUpdateTimestamp + _ragfairConfig.RunIntervalSeconds)
|
||||
{
|
||||
// Not enough time has passed since last run, exit early
|
||||
return Task.CompletedTask;
|
||||
return Task.FromResult(false);
|
||||
}
|
||||
|
||||
// There is a flag inside this class that only makes it run once.
|
||||
@@ -52,7 +52,7 @@ public class RagfairCallbacks(
|
||||
// Store last completion time for later use
|
||||
_lastRunOnUpdateTimestamp = _timeUtil.GetTimeStamp();
|
||||
|
||||
return Task.CompletedTask;
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -3,6 +3,7 @@ using SPTarkov.Server.Core.DI;
|
||||
using SPTarkov.Server.Core.Models.Spt.Config;
|
||||
using SPTarkov.Server.Core.Servers;
|
||||
using SPTarkov.Server.Core.Services;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
|
||||
namespace SPTarkov.Server.Core.Callbacks;
|
||||
|
||||
@@ -10,11 +11,13 @@ namespace SPTarkov.Server.Core.Callbacks;
|
||||
public class SaveCallbacks(
|
||||
SaveServer _saveServer,
|
||||
ConfigServer _configServer,
|
||||
BackupService _backupService
|
||||
BackupService _backupService,
|
||||
TimeUtil _timeUtil
|
||||
)
|
||||
: IOnLoad, IOnUpdate
|
||||
{
|
||||
private readonly CoreConfig _coreConfig = _configServer.GetConfig<CoreConfig>();
|
||||
private long _lastRunOnUpdateTimestamp = long.MaxValue;
|
||||
|
||||
public async Task OnLoad()
|
||||
{
|
||||
@@ -22,13 +25,19 @@ public class SaveCallbacks(
|
||||
_saveServer.Load();
|
||||
}
|
||||
|
||||
public Task OnUpdate(long timeSinceLastRun)
|
||||
public Task<bool> OnUpdate(long secondsSinceLastRun)
|
||||
{
|
||||
if (timeSinceLastRun > _coreConfig.ProfileSaveIntervalInSeconds)
|
||||
if (_timeUtil.GetTimeStamp() <= _lastRunOnUpdateTimestamp + _coreConfig.ProfileSaveIntervalInSeconds)
|
||||
{
|
||||
_saveServer.Save();
|
||||
// Not enough time has passed since last run, exit early
|
||||
return Task.FromResult(false);
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
_saveServer.Save();
|
||||
|
||||
// Store last completion time for later use
|
||||
_lastRunOnUpdateTimestamp = _timeUtil.GetTimeStamp();
|
||||
|
||||
return Task.FromResult(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,19 +23,16 @@ public class TraderCallbacks(
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public Task OnUpdate(long _)
|
||||
public Task<bool> OnUpdate(long _)
|
||||
{
|
||||
_traderController.Update();
|
||||
return Task.CompletedTask;
|
||||
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handle client/trading/api/traderSettings
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetTraderSettings(string url, EmptyRequestData _, string sessionID)
|
||||
{
|
||||
return new ValueTask<string>(_httpResponseUtil.GetBody(_traderController.GetAllTraders(sessionID)));
|
||||
@@ -44,10 +41,6 @@ public class TraderCallbacks(
|
||||
/// <summary>
|
||||
/// Handle client/trading/api/getTrader
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetTrader(string url, EmptyRequestData _, string sessionID)
|
||||
{
|
||||
var traderID = url.Replace("/client/trading/api/getTrader/", "");
|
||||
@@ -57,9 +50,6 @@ public class TraderCallbacks(
|
||||
/// <summary>
|
||||
/// Handle client/trading/api/getTraderAssort
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID">Session/player id</param>
|
||||
/// <returns></returns>
|
||||
public ValueTask<string> GetAssort(string url, EmptyRequestData _, string sessionID)
|
||||
{
|
||||
|
||||
@@ -2,5 +2,5 @@ namespace SPTarkov.Server.Core.DI;
|
||||
|
||||
public interface IOnUpdate
|
||||
{
|
||||
Task OnUpdate(long secondsSinceLastRun);
|
||||
Task<bool> OnUpdate(long secondsSinceLastRun);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user