コード例 #1
0
 public void UpdateReceived(string senderId, float posX, float posY, float velX, float velY, float rotZ)
 {
     if (_multiplayerReady)
     {
         OpponentCarController opponent = _opponentScripts[senderId];
         if (opponent != null)
         {
             opponent.SetCarInformation(posX, posY, velX, velY, rotZ);
         }
     }
 }
コード例 #2
0
    void SetupMultiplayerGame()
    {
        MultiplayerController.Instance.updateListener = this;
        // 1
        _myParticipantId = MultiplayerController.Instance.GetMyParticipantId();
        // 2
        List <Participant> allPlayers = MultiplayerController.Instance.GetAllPlayers();

        _opponentScripts = new Dictionary <string, OpponentCarController>(allPlayers.Count - 1);
        _finishTimes     = new Dictionary <string, float>(allPlayers.Count);
        for (int i = 0; i < allPlayers.Count; i++)
        {
            string nextParticipantId = allPlayers[i].ParticipantId;
            _finishTimes[nextParticipantId] = -1;
            Debug.Log("Setting up car for " + nextParticipantId);
            // 3
            Vector3 carStartPoint = new Vector3(_startingPoint.x, _startingPoint.y + (i * _startingPointYOffset), 0);
            if (nextParticipantId == _myParticipantId)
            {
                // 4
                myCar.GetComponent <CarController> ().SetCarChoice(i + 1, true);
                myCar.transform.position = carStartPoint;
            }
            else
            {
                // 5
                GameObject            opponentCar    = (Instantiate(opponentPrefab, carStartPoint, Quaternion.identity) as GameObject);
                OpponentCarController opponentScript = opponentCar.GetComponent <OpponentCarController>();
                opponentScript.SetCarNumber(i + 1);
                // 6
                _opponentScripts[nextParticipantId] = opponentScript;
            }
        }
        // 7
        _lapsRemaining = 1;
        _timePlayed    = 0;
        guiObject.SetLaps(_lapsRemaining);
        guiObject.SetTime(_timePlayed);
        _multiplayerReady = true;
    }