public void OnPlayerInstantiatedCallback(AsyncOperationHandle <GameObject> handle)
        {
            GameObject res = handle.Result;

            Character player = res.GetComponent <Character>();

            player.RespawnAt(_spawnerManager.GetSpawnerByID("Player"));
        }
        IEnumerator RespawnPlayer(Character player, float time)
        {
            GenericEvent.Trigger(GenericEventType.RespawnStarted, player.gameObject);

            yield return(new WaitForSeconds(time));

            // Respawn the player with "cinematic" (not really) feel
            player.RespawnAt(_spawnerManager.GetSpawnerByID("Player"));
            var health = player.GetComponent <Health>();

            health.SetInvulnerable(true);
            StartCoroutine(health.SetBlink(2));
            yield return(health.SetDamageEnabledInTime(2));

            GenericEvent.Trigger(GenericEventType.RespawnCompleted, player.gameObject);
        }