public void StartGame(PlayerConfig[] playerConfigs) { if (_playerConfigs == null) { _playerConfigs = playerConfigs; } _gameStarted = true; for (int i = 0; i < playerConfigs.Length; i++) { if (metaPlayers[i] == null) { var metaPlayer = new MetaPlayer() { config = playerConfigs[i], color = playerColors[i] }; metaPlayers[i] = metaPlayer; } else { if (metaPlayers[i].player != null) { Destroy(metaPlayers[i].player.gameObject); } } if (metaPlayers[i].config == null) { continue; } var player = Instantiate(playerPrefab, playerSpawnMarkers[i].position, Quaternion.identity); player.SetColor(metaPlayers[i].color); player.SetInputDevice(metaPlayers[i].config.inputDevice); player.SetTankControls(metaPlayers[i].config.tankControls); player.SetMetaPlayer(metaPlayers[i]); player.gameObject.layer = GameLayers.PlayerLayerFromIndex(i); metaPlayers[i].player = player; } }
public MetaPlayer[] GetMetaPlayers() { // Using MetaPlayer as a wrapper for Player to // restrict PUN-specific things to this file PhotonPlayer[] players = PhotonNetwork.playerList; MetaPlayer[] metaPlayers = new MetaPlayer[players.Length]; for (int i = 0; i < players.Length; i++){ metaPlayers[i] = new MetaPlayer(players[i].ID, players[i].name); } return metaPlayers; }
public void SetMetaPlayer(MetaPlayer metaPlayer) { MetaPlayer = metaPlayer; }