Beispiel #1
0
    private PlayerAstronautController AddPlayer(Rewired.Player rewiredPlayer)
    {
        Transform spawnPoint = _spawnPoints[_nextSpawnIndex];
        PlayerAstronautController astroPlayer = Instantiate(_playerPrefab, transform);

        astroPlayer.RewiredPlayer      = rewiredPlayer;
        astroPlayer.transform.position = spawnPoint.transform.position;
        astroPlayer.transform.rotation = Quaternion.Euler(0, Random.value * 360, 0);
        _players.Add(astroPlayer);

        _nextSpawnIndex = (_nextSpawnIndex + 1) % _spawnPoints.Length;

        // Set joined state
        if (rewiredPlayer != null)
        {
            while (_playerJoinedStates.Count <= rewiredPlayer.id)
            {
                _playerJoinedStates.Add(false);
            }
            _playerJoinedStates[rewiredPlayer.id] = true;
        }

        PlayerJoined?.Invoke(astroPlayer);

        return(astroPlayer);
    }
Beispiel #2
0
 private void OnPlayerJoined(PlayerAstronautController player)
 {
     // Spawn on first player join
     if (PlayerManager.Instance.Players.Count == 1)
     {
         SpawnEnemy();
     }
 }
Beispiel #3
0
 private void OnPlayerSpawned(PlayerAstronautController player)
 {
     SpawnEnemy();
 }