From: yukieiji Date: Fri, 19 May 2023 13:57:53 +0000 (+0900) Subject: refactor:SpawnInTime to config X-Git-Tag: v1.8.3~6 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=e29552ca2812c7e79b1a1f95513f7e3c16288f19;p=rhonda%2Fimpostor.git refactor:SpawnInTime to config --- diff --git a/src/Impostor.Server/Constants.cs b/src/Impostor.Server/Constants.cs index ce0114a..cc39ae4 100644 --- a/src/Impostor.Server/Constants.cs +++ b/src/Impostor.Server/Constants.cs @@ -2,7 +2,6 @@ { internal static class Constants { - public const int SpawnTimeout = 2500; public const int ConnectionTimeout = 2500; } } diff --git a/src/Impostor.Server/Net/State/ClientPlayer.cs b/src/Impostor.Server/Net/State/ClientPlayer.cs index b615c06..b36d979 100644 --- a/src/Impostor.Server/Net/State/ClientPlayer.cs +++ b/src/Impostor.Server/Net/State/ClientPlayer.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Threading; using System.Threading.Tasks; using Impostor.Api.Net; @@ -13,11 +13,13 @@ namespace Impostor.Server.Net.State { private readonly ILogger _logger; private readonly Timer _spawnTimeout; + private readonly int _spawnTimeoutTime; - public ClientPlayer(ILogger logger, ClientBase client, Game game) + public ClientPlayer(ILogger logger, ClientBase client, Game game, int timeOutTime) { _logger = logger; _spawnTimeout = new Timer(RunSpawnTimeout!, null, -1, -1); + _spawnTimeoutTime = timeOutTime; Game = game; Client = client; @@ -41,7 +43,7 @@ namespace Impostor.Server.Net.State public void InitializeSpawnTimeout() { - _spawnTimeout.Change(Constants.SpawnTimeout, -1); + _spawnTimeout.Change(_spawnTimeoutTime, -1); } public void DisableSpawnTimeout() diff --git a/src/Impostor.Server/Net/State/Game.Incoming.cs b/src/Impostor.Server/Net/State/Game.Incoming.cs index fb0751f..95281cf 100644 --- a/src/Impostor.Server/Net/State/Game.Incoming.cs +++ b/src/Impostor.Server/Net/State/Game.Incoming.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Threading; using System.Threading.Tasks; using Impostor.Api.Games; @@ -188,7 +188,7 @@ namespace Impostor.Server.Net.State if (player == null || player.Game != this) { - var clientPlayer = new ClientPlayer(_serviceProvider.GetRequiredService>(), client, this); + var clientPlayer = new ClientPlayer(_serviceProvider.GetRequiredService>(), client, this, _timeoutConfig.SpawnTimeout); if (!_clientManager.Validate(client)) { diff --git a/src/Impostor.Server/Net/State/Game.cs b/src/Impostor.Server/Net/State/Game.cs index d364dda..b342b42 100644 --- a/src/Impostor.Server/Net/State/Game.cs +++ b/src/Impostor.Server/Net/State/Game.cs @@ -30,6 +30,7 @@ namespace Impostor.Server.Net.State private readonly HashSet _bannedIps; private readonly IEventManager _eventManager; private readonly CompatibilityConfig _compatibilityConfig; + private readonly TimeoutConfig _timeoutConfig; public Game( ILogger logger, @@ -41,7 +42,8 @@ namespace Impostor.Server.Net.State GameFilterOptions filterOptions, ClientManager clientManager, IEventManager eventManager, - IOptions compatibilityConfig) + IOptions compatibilityConfig, + IOptions timeoutConfig) { _logger = logger; _serviceProvider = serviceProvider; @@ -59,6 +61,7 @@ namespace Impostor.Server.Net.State _clientManager = clientManager; _eventManager = eventManager; _compatibilityConfig = compatibilityConfig.Value; + _timeoutConfig = timeoutConfig.Value; Items = new ConcurrentDictionary(); }