diff --git a/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs b/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs index 6e21ad2..f752051 100644 --- a/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs +++ b/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs @@ -98,7 +98,19 @@ public class PlayerDataFactory private unsafe bool CheckForNullDrawObjectUnsafe(IntPtr playerPointer) { - return ((Character*)playerPointer)->GameObject.DrawObject == null; + if (playerPointer == IntPtr.Zero) + return true; + + var character = (Character*)playerPointer; + + if (character == null) + return true; + + var gameObject = &character->GameObject; + if (gameObject == null) + return true; + + return gameObject->DrawObject == null; } private async Task CreateCharacterData(GameObjectHandler playerRelatedObject, CancellationToken ct)