/// <summary> /// Function to spawn PlayerPawn. Based on predefined Spawnpoints in the Scene /// </summary> /// <param name="playerController"></param> void SpawnPlayerPlawn(PlayerControllerBase playerController) { if (gameState == GameState.GameEnded) { return; } List <SpawnPoint> availableSpawnpoints = new List <SpawnPoint>(); foreach (SpawnPoint spawnPoint in spawnPoints) { if (!spawnPoint.isOccupied) { availableSpawnpoints.Add(spawnPoint); } } if (availableSpawnpoints.Count == 0) { Debug.LogError("No available spawnpoint found, make sure each level has more spawnpoints than max player count"); return; } SpawnPoint randomSpawnpoint = availableSpawnpoints[Random.Range(0, availableSpawnpoints.Count)]; PlayerPawn spawnedPawn = randomSpawnpoint.SpawnPawn(playerPawnPrefab); playerController.SetPawn(spawnedPawn); }