From 213c98c06982111f67512e1d23bbb33590e9e337 Mon Sep 17 00:00:00 2001 From: Chomp Date: Sat, 28 Jun 2025 10:39:20 +0100 Subject: [PATCH] Updated `EventOutputHolder` to use primary constructor --- .../Routers/EventOutputHolder.cs | 50 +++++++------------ 1 file changed, 19 insertions(+), 31 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Routers/EventOutputHolder.cs b/Libraries/SPTarkov.Server.Core/Routers/EventOutputHolder.cs index 1709772e..90f0c762 100644 --- a/Libraries/SPTarkov.Server.Core/Routers/EventOutputHolder.cs +++ b/Libraries/SPTarkov.Server.Core/Routers/EventOutputHolder.cs @@ -10,28 +10,16 @@ using SPTarkov.Server.Core.Utils.Cloners; namespace SPTarkov.Server.Core.Routers; [Injectable] -public class EventOutputHolder +public class EventOutputHolder( + ISptLogger logger, + ProfileHelper profileHelper, + TimeUtil timeUtil, + ICloner cloner +) { - protected Dictionary> _clientActiveSessionStorage = new(); - protected ICloner _cloner; - protected ISptLogger _logger; - - protected Dictionary _outputStore = new(); - protected ProfileHelper _profileHelper; - protected TimeUtil _timeUtil; - - public EventOutputHolder( - ISptLogger logger, - ProfileHelper profileHelper, - TimeUtil timeUtil, - ICloner cloner - ) - { - _logger = logger; - _profileHelper = profileHelper; - _timeUtil = timeUtil; - _cloner = cloner; - } + protected readonly Dictionary> _clientActiveSessionStorage = + new(); + protected readonly Dictionary _outputStore = new(); /// /// Get a fresh/empty response to send to the client @@ -54,7 +42,7 @@ public class EventOutputHolder public void ResetOutput(string sessionId) { - var pmcProfile = _profileHelper.GetPmcProfile(sessionId); + var pmcProfile = profileHelper.GetPmcProfile(sessionId); if (_outputStore.ContainsKey(sessionId)) { @@ -93,7 +81,7 @@ public class EventOutputHolder Mastering = [], Points = 0, }, - Health = _cloner.Clone(pmcProfile.Health), + Health = cloner.Clone(pmcProfile.Health), TraderRelations = new Dictionary(), QuestsStatus = [], } @@ -110,20 +98,20 @@ public class EventOutputHolder /// Session id public void UpdateOutputProperties(string sessionId) { - var pmcData = _profileHelper.GetPmcProfile(sessionId); + var pmcData = profileHelper.GetPmcProfile(sessionId); var profileChanges = _outputStore[sessionId].ProfileChanges[sessionId]; profileChanges.Experience = pmcData.Info.Experience; - profileChanges.Health = _cloner.Clone(pmcData.Health); - profileChanges.Skills.Common = _cloner.Clone(pmcData.Skills.Common); // Always send skills for Item event route response - profileChanges.Skills.Mastering = _cloner.Clone(pmcData.Skills.Mastering); + profileChanges.Health = cloner.Clone(pmcData.Health); + profileChanges.Skills.Common = cloner.Clone(pmcData.Skills.Common); // Always send skills for Item event route response + profileChanges.Skills.Mastering = cloner.Clone(pmcData.Skills.Mastering); // Clone productions to ensure we preseve the profile jsons data profileChanges.Production = GetProductionsFromProfileAndFlagComplete( - _cloner.Clone(pmcData.Hideout.Production), + cloner.Clone(pmcData.Hideout.Production), sessionId ); - profileChanges.Improvements = _cloner.Clone( + profileChanges.Improvements = cloner.Clone( GetImprovementsFromProfileAndFlagComplete(pmcData) ); profileChanges.TraderRelations = ConstructTraderRelations(pmcData.TradersInfo); @@ -157,7 +145,7 @@ public class EventOutputHolder // Water collector / Bitcoin etc production.Value.SptIsComplete = false; production.Value.Progress = 0; - production.Value.StartTimestamp = _timeUtil.GetTimeStamp(); + production.Value.StartTimestamp = timeUtil.GetTimeStamp(); } else if (!production.Value.InProgress ?? false) { @@ -186,7 +174,7 @@ public class EventOutputHolder continue; } - if (improvement.ImproveCompleteTimestamp < _timeUtil.GetTimeStamp()) + if (improvement.ImproveCompleteTimestamp < timeUtil.GetTimeStamp()) { improvement.Completed = true; }