Exemplo n.º 1
0
    void SetupMultiplayerGame()
    {
        NetworkProvider.Instance.updateListener = this;
        _myParticipantId = NetworkProvider.Instance.GetMyPlayerId();
        List <NetworkPlayer> allPlayers = NetworkProvider.Instance.GetAllPlayers();

        _opponentScripts = new Dictionary <string, NetworkedCarController>(allPlayers.Count - 1);
        _finishTimes     = new Dictionary <string, float>(allPlayers.Count);
        for (int i = 0; i < allPlayers.Count; i++)
        {
            string nextParticipantId = allPlayers[i].PlayerId;
            _finishTimes[nextParticipantId] = -1;
            Debug.Log("Setting up car for " + nextParticipantId);
            Vector3 carStartPoint = _trackController.SpawnPoint(i);
            if (nextParticipantId == _myParticipantId)
            {
                CarController car = myCar.GetComponent <CarController>();
                car.SetCarChoice(i + 1, true);
                car.SpawnAtStart(i);
            }
            else
            {
                GameObject             opponentCar    = (Instantiate(opponentPrefab, carStartPoint, Quaternion.identity) as GameObject);
                NetworkedCarController opponentScript = opponentCar.GetComponent <NetworkedCarController>();
                opponentScript.SetCarNumber(i + 1);
                _opponentScripts[nextParticipantId] = opponentScript;
            }
        }
        _lapsRemaining = 3;
        _timePlayed    = 0;
        guiObject.SetLaps(_lapsRemaining);
        guiObject.SetTime(_timePlayed);
        _multiplayerReady = true;
    }
Exemplo n.º 2
0
 public void UpdateReceived(string senderId, int messageNum, float posX, float posY, float velX, float velY, float rotZ)
 {
     if (_multiplayerReady)
     {
         NetworkedCarController opponent = _opponentScripts[senderId];
         if (opponent != null)
         {
             opponent.SetCarInformation(messageNum, posX, posY, velX, velY, rotZ);
         }
     }
 }