Fix restartround crash with the DoAfter system (#1658)

This commit is contained in:
DrSmugleaf
2020-08-12 20:44:18 +02:00
committed by GitHub
parent 1fc941b3b3
commit 60163e85bf
2 changed files with 33 additions and 27 deletions

View File

@@ -124,7 +124,7 @@ namespace Content.Client.GameObjects.EntitySystems.DoAfter
{ {
base.FrameUpdate(args); base.FrameUpdate(args);
if (AttachedEntity == null || !AttachedEntity.TryGetComponent(out DoAfterComponent doAfterComponent)) if (AttachedEntity?.IsValid() != true || !AttachedEntity.TryGetComponent(out DoAfterComponent doAfterComponent))
{ {
return; return;
} }

View File

@@ -50,6 +50,7 @@ namespace Content.Client.GameObjects.EntitySystems.DoAfter
base.Shutdown(); base.Shutdown();
Gui?.Dispose(); Gui?.Dispose();
Gui = null; Gui = null;
_player = null;
} }
private void HandlePlayerAttached(IEntity? entity) private void HandlePlayerAttached(IEntity? entity)
@@ -81,7 +82,12 @@ namespace Content.Client.GameObjects.EntitySystems.DoAfter
var currentTime = _gameTiming.CurTime; var currentTime = _gameTiming.CurTime;
if (_player == null || !_player.TryGetComponent(out DoAfterComponent doAfterComponent)) if (_player?.IsValid() != true)
{
return;
}
if (!_player.TryGetComponent(out DoAfterComponent doAfterComponent))
{ {
return; return;
} }