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); } } }
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; }