Exemplo n.º 1
0
    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;
    }
Exemplo n.º 3
0
 public void SetMetaPlayer(MetaPlayer metaPlayer)
 {
     MetaPlayer = metaPlayer;
 }