Exemplo n.º 1
0
    /// <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);
    }