public override void OnStopClient()
        {
            JoinLeaveSingularity.Create(Player, false);

            // TODO : Maybe move this to a leave event...? Would ensure everything could finish up before removing the player
            QSBPlayerManager.OnRemovePlayer?.Invoke(Player);
            base.OnStopClient();
            Player.HudMarker?.Remove();
            QSBPlayerManager.PlayerList.Remove(Player);
            DebugLog.DebugWrite($"Remove Player : id<{Player.PlayerId}>", MessageType.Info);
        }
        public override void OnStartClient()
        {
            var player = new PlayerInfo(this);

            QSBPlayerManager.PlayerList.SafeAdd(player);
            base.OnStartClient();
            QSBPlayerManager.OnAddPlayer?.Invoke(Player);
            DebugLog.DebugWrite($"Create Player : id<{Player.PlayerId}>", MessageType.Info);

            JoinLeaveSingularity.Create(Player, true);
        }