Fixed exceptions in RespawnManager if the selected respawn shuttle doesn't have a nav terminal or any other item with a Steering component. Closes #438
This commit is contained in:
@@ -204,8 +204,11 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
respawnShuttle.Velocity = Vector2.Zero;
|
respawnShuttle.Velocity = Vector2.Zero;
|
||||||
|
|
||||||
shuttleSteering.AutoPilot = false;
|
if (shuttleSteering != null)
|
||||||
shuttleSteering.MaintainPos = false;
|
{
|
||||||
|
shuttleSteering.AutoPilot = false;
|
||||||
|
shuttleSteering.MaintainPos = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateTransporting(float deltaTime)
|
private void UpdateTransporting(float deltaTime)
|
||||||
@@ -264,7 +267,10 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
respawnShuttle.PhysicsBody.FarseerBody.IgnoreCollisionWith(Level.Loaded.TopBarrier);
|
respawnShuttle.PhysicsBody.FarseerBody.IgnoreCollisionWith(Level.Loaded.TopBarrier);
|
||||||
|
|
||||||
shuttleSteering.SetDestinationLevelStart();
|
if (shuttleSteering != null)
|
||||||
|
{
|
||||||
|
shuttleSteering.SetDestinationLevelStart();
|
||||||
|
}
|
||||||
|
|
||||||
foreach (Door door in shuttleDoors)
|
foreach (Door door in shuttleDoors)
|
||||||
{
|
{
|
||||||
@@ -284,7 +290,7 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
if (!CoroutineManager.IsCoroutineRunning("forcepos"))
|
if (!CoroutineManager.IsCoroutineRunning("forcepos"))
|
||||||
{
|
{
|
||||||
if (shuttleSteering.SteeringPath != null && shuttleSteering.SteeringPath.Finished
|
if ((shuttleSteering?.SteeringPath != null && shuttleSteering.SteeringPath.Finished)
|
||||||
|| (respawnShuttle.WorldPosition.Y + respawnShuttle.Borders.Y > Level.Loaded.StartPosition.Y - Level.ShaftHeight &&
|
|| (respawnShuttle.WorldPosition.Y + respawnShuttle.Borders.Y > Level.Loaded.StartPosition.Y - Level.ShaftHeight &&
|
||||||
Math.Abs(Level.Loaded.StartPosition.X - respawnShuttle.WorldPosition.X) < 1000.0f))
|
Math.Abs(Level.Loaded.StartPosition.X - respawnShuttle.WorldPosition.X) < 1000.0f))
|
||||||
{
|
{
|
||||||
@@ -323,7 +329,10 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
ResetShuttle();
|
ResetShuttle();
|
||||||
|
|
||||||
shuttleSteering.TargetVelocity = Vector2.Zero;
|
if (shuttleSteering != null)
|
||||||
|
{
|
||||||
|
shuttleSteering.TargetVelocity = Vector2.Zero;
|
||||||
|
}
|
||||||
|
|
||||||
GameServer.Log("Dispatching the respawn shuttle.", ServerLog.MessageType.Spawning);
|
GameServer.Log("Dispatching the respawn shuttle.", ServerLog.MessageType.Spawning);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user