void Start() { raceManager = FindObjectOfType <RaceManager>(); spoorManager = FindObjectOfType <SpoorManager3D>(); player = GetComponent <Player>(); //Vraag spoorinformatie aan Spoormanager lapLength = spoorManager.lapLength; lapsToFinish = spoorManager.lapsToFinish; puntenLijst = spoorManager.puntenLijst; scale = spoorManager.scale; }
void Start() { rectTransform = GetComponent <RectTransform>(); spoorManager = GetComponent <SpoorManager3D>(); okButtonRace = FindObjectOfType <OkButtonRace>(); communicationManager = FindObjectOfType <CommunicationManager>(); leaderBoard = FindObjectOfType <LeaderBoard>(); storageManager = GameObject.FindGameObjectWithTag("StorageManager"); storageManagerScript = storageManager.GetComponent <StorageManager>(); //Vraag de naam van de spelers, het aantal spelers en de mapData aan de StorageManager playerNames = new List <string>(storageManagerScript.activePlayers.Keys); aantalSpelers = playerNames.Count; mapData = storageManagerScript.mapData; //Instantieer de map en geef deze de juiste waardes map = Instantiate(mapData.mapPrefab); map.transform.position = mapData.mapPosition; map.transform.rotation = Quaternion.Euler(mapData.mapRotation); map.transform.localScale = mapData.mapScale; //Geef de juiste waardes aan de Camera mainCamera = Camera.main; mainCamera.transform.position = mapData.cameraPosition; mainCamera.transform.rotation = Quaternion.Euler(mapData.cameraRotation); mainCamera.fieldOfView = mapData.cameraFOV; //Geef de juiste waardes aan het plain plain = gameObject; plain.transform.position = mapData.planePosition; plain.transform.rotation = Quaternion.Euler(mapData.planeRotation); plain.transform.localScale = mapData.planeScale; //Geef de juiste waardes aan het spoor spoorManager.scale = mapData.absoluteScale; spoorManager.PrepareTrack(); //Geef de juiste waardes aan het light light = FindObjectOfType <Light>().gameObject; light.transform.rotation = Quaternion.Euler(mapData.lightRotation); //Voeg de mogelijke spelerkleuren toe aan een lijst orderedColorAnimationPrefabs.Add(yellowBikerPrefab); orderedColorAnimationPrefabs.Add(greenBikerPrefab); orderedColorAnimationPrefabs.Add(orangeBikerPrefab); orderedColorAnimationPrefabs.Add(pinkBikerPrefab); orderedColorAnimationPrefabs.Add(redBikerPrefab); orderedColorAnimationPrefabs.Add(blackBikerPrefab); //Instantieer alle spelers for (int index = 0; index < aantalSpelers; index++) { //Instantieer de speler en geef zijn Player script de informatie over deze speler GameObject spelerClone = Instantiate(speler, spoor.transform); Player spelerCloneFiets = spelerClone.GetComponent <Player>(); spelerCloneFiets.fietsnummer = index + 1; spelerCloneFiets.naam = playerNames[index]; spelerCloneFiets.spelerMassa = 75; playerObjects.Add(spelerClone); orderedPlayers.Add(spelerCloneFiets); //Geef de speler zijn kleur, positie en schaal playerColors.Add(playerNames[index], colorOptions[index]); GameObject playerAnimation = Instantiate(orderedColorAnimationPrefabs[index], spelerClone.transform); playerAnimation.transform.localRotation = Quaternion.Euler(playerRotation); playerAnimation.transform.localPosition = playerPosition; playerAnimation.transform.localScale = playerScale; //Activeer de fiets in de Arduino en geef hem het geselecteerde vermogen communicationManager.SendPort(4, index + 1, 1); communicationManager.SendPort(6, index + 1, storageManagerScript.activePlayers[playerNames[index]]); //Creer een subdisplay voor de speler op het leaderboard leaderBoard.InstantiateSubdisplay(); } //Instantieer de timer die aftelt naar het begin van de race timer = Instantiate(timerPrefab, FindObjectOfType <Canvas>().transform); timerScript = timer.GetComponent <RaceTimer>(); }