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; }
public void SpawnAtStart(int index) { transform.position = _trackController.SpawnPoint(index); _trackLink = _trackController.StartingLink; }