Respawn durations can be changed mid-round.
This commit is contained in:
@@ -10,9 +10,6 @@ namespace Barotrauma.Networking
|
|||||||
{
|
{
|
||||||
class RespawnManager : Entity, IServerSerializable
|
class RespawnManager : Entity, IServerSerializable
|
||||||
{
|
{
|
||||||
private readonly float respawnInterval;
|
|
||||||
private float maxTransportTime;
|
|
||||||
|
|
||||||
public enum State
|
public enum State
|
||||||
{
|
{
|
||||||
Waiting,
|
Waiting,
|
||||||
@@ -66,6 +63,8 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
private float respawnTimer, shuttleReturnTimer, shuttleTransportTimer;
|
private float respawnTimer, shuttleReturnTimer, shuttleTransportTimer;
|
||||||
|
|
||||||
|
private float maxTransportTime;
|
||||||
|
|
||||||
private float updateReturnTimer;
|
private float updateReturnTimer;
|
||||||
|
|
||||||
public Submarine RespawnShuttle
|
public Submarine RespawnShuttle
|
||||||
@@ -114,14 +113,11 @@ namespace Barotrauma.Networking
|
|||||||
respawnShuttle = null;
|
respawnShuttle = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
var server = networkMember as GameServer;
|
if (networkMember is GameServer server)
|
||||||
if (server != null)
|
|
||||||
{
|
{
|
||||||
respawnInterval = server.RespawnInterval;
|
respawnTimer = server.RespawnInterval;
|
||||||
maxTransportTime = server.MaxTransportTime;
|
maxTransportTime = server.MaxTransportTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
respawnTimer = respawnInterval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Client> GetClientsToRespawn()
|
private List<Client> GetClientsToRespawn()
|
||||||
@@ -195,7 +191,7 @@ namespace Barotrauma.Networking
|
|||||||
respawnTimer -= deltaTime;
|
respawnTimer -= deltaTime;
|
||||||
if (respawnTimer <= 0.0f)
|
if (respawnTimer <= 0.0f)
|
||||||
{
|
{
|
||||||
respawnTimer = respawnInterval;
|
respawnTimer = server.RespawnInterval;
|
||||||
|
|
||||||
DispatchShuttle();
|
DispatchShuttle();
|
||||||
}
|
}
|
||||||
@@ -243,6 +239,7 @@ namespace Barotrauma.Networking
|
|||||||
server.CreateEntityEvent(this);
|
server.CreateEntityEvent(this);
|
||||||
|
|
||||||
CountdownStarted = false;
|
CountdownStarted = false;
|
||||||
|
maxTransportTime = server.MaxTransportTime;
|
||||||
shuttleReturnTimer = maxTransportTime;
|
shuttleReturnTimer = maxTransportTime;
|
||||||
shuttleTransportTimer = maxTransportTime;
|
shuttleTransportTimer = maxTransportTime;
|
||||||
}
|
}
|
||||||
@@ -311,7 +308,7 @@ namespace Barotrauma.Networking
|
|||||||
GameServer.Log("The respawn shuttle has left.", ServerLog.MessageType.Spawning);
|
GameServer.Log("The respawn shuttle has left.", ServerLog.MessageType.Spawning);
|
||||||
server.CreateEntityEvent(this);
|
server.CreateEntityEvent(this);
|
||||||
|
|
||||||
respawnTimer = respawnInterval;
|
respawnTimer = server.RespawnInterval;
|
||||||
CountdownStarted = false;
|
CountdownStarted = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user