]> git.deb.at Git - rhonda/impostor.git/commitdiff
refactor:SpawnInTime to config
authoryukieiji <yuki31gakki97@yahoo.co.jp>
Fri, 19 May 2023 13:57:53 +0000 (22:57 +0900)
committerminiduikboot <mini@duikbo.at>
Tue, 23 May 2023 19:39:09 +0000 (21:39 +0200)
src/Impostor.Server/Constants.cs
src/Impostor.Server/Net/State/ClientPlayer.cs
src/Impostor.Server/Net/State/Game.Incoming.cs
src/Impostor.Server/Net/State/Game.cs

index ce0114aac812637c6c69f0fec0700adb13181da5..cc39ae47eed42235854ac3ce6aa79266422be9c5 100644 (file)
@@ -2,7 +2,6 @@
 {
     internal static class Constants
     {
-        public const int SpawnTimeout = 2500;
         public const int ConnectionTimeout = 2500;
     }
 }
index b615c064a3306e4af54bd8f4f713f364cbab41de..b36d9795f7293c87d0e80058b2e4dc81acb1e3b6 100644 (file)
@@ -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<ClientPlayer> _logger;
         private readonly Timer _spawnTimeout;
+        private readonly int _spawnTimeoutTime;
 
-        public ClientPlayer(ILogger<ClientPlayer> logger, ClientBase client, Game game)
+        public ClientPlayer(ILogger<ClientPlayer> 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()
index fb0751f460d1c6202d6d432ab4e572321a886a1f..95281cf987971006629c63e966321a1e0f257a89 100644 (file)
@@ -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<ILogger<ClientPlayer>>(), client, this);
+                var clientPlayer = new ClientPlayer(_serviceProvider.GetRequiredService<ILogger<ClientPlayer>>(), client, this, _timeoutConfig.SpawnTimeout);
 
                 if (!_clientManager.Validate(client))
                 {
index d364ddad75aebede7eeb7fcd2c24c7fc612f8c1d..b342b42c2d05a2be1e5657b7f8eb2098e54d962e 100644 (file)
@@ -30,6 +30,7 @@ namespace Impostor.Server.Net.State
         private readonly HashSet<IPAddress> _bannedIps;
         private readonly IEventManager _eventManager;
         private readonly CompatibilityConfig _compatibilityConfig;
+        private readonly TimeoutConfig _timeoutConfig;
 
         public Game(
             ILogger<Game> logger,
@@ -41,7 +42,8 @@ namespace Impostor.Server.Net.State
             GameFilterOptions filterOptions,
             ClientManager clientManager,
             IEventManager eventManager,
-            IOptions<CompatibilityConfig> compatibilityConfig)
+            IOptions<CompatibilityConfig> compatibilityConfig,
+            IOptions<TimeoutConfig> 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<object, object>();
         }