JoinLeaveSingularity - cancel if PlayerTransformSync is destroyed, and also check for player.Body before running leave singularity for if they leave while still on the title screen

This commit is contained in:
JohnCorby 2022-05-11 09:53:48 -07:00
parent e28d9ea7ad
commit b56a3376e1

View File

@ -31,10 +31,19 @@ public static class JoinLeaveSingularity
{ {
return; return;
} }
if (!player.Body)
{
// player was kicked (i.e. player body doesn't exist cuz they're still in title screen)
return;
}
} }
var go = new GameObject($"player {player} JoinLeaveSingularity"); var go = new GameObject($"player {player} JoinLeaveSingularity");
var ct = go.GetCancellationTokenOnDestroy(); var ct = CancellationTokenSource.CreateLinkedTokenSource(
go.GetCancellationTokenOnDestroy(),
player.TransformSync.GetCancellationTokenOnDestroy()
).Token;
UniTask.Create(async () => UniTask.Create(async () =>
{ {
DebugLog.DebugWrite($"{go.name}: WARP TASK"); DebugLog.DebugWrite($"{go.name}: WARP TASK");