void Start() { GameObject tmpObj = GameObject.Find("P" + transform.GetComponent <CarController> ().playerNumber + "_Target"); // you need to have a gameObject named "P1_Target" "P2_Target" "P3_Target" "P4_Target" on your scene if (tmpObj) { target = tmpObj.transform; // access the target that follow the car } tmpObj = GameObject.Find("Track_Path"); if (tmpObj) { Track = tmpObj.GetComponent <UnityStandardAssets.Utility.WaypointCircuit>(); // access the track (car path) } if (Track != null && Track.waypointList.items.Length > 0) { pathExist = true; } tmpObj = GameObject.Find("StartLine_lapCounter"); if (tmpObj) { sLapCounter = tmpObj.GetComponent <LapCounter> (); // access the track (car path) } carPathFollow = GetComponent <CarPathFollow> (); }
void OnTriggerEnter(Collider other) { CarPathFollow carPathFollow = other.GetComponent <CarPathFollow> (); if (other.tag == "Car" && carPathFollow.iLapCounter < lapNumber + 1) // A car finish a lap { if (b_ActivateLapCounter) { if (carPathFollow.iLapCounter <= lapNumber + 1) { if (car [0] != null && car [0].name == other.name && Txt_P1_Lap) { Txt_P1_Lap.text = "Lap " + (car [0].iLapCounter).ToString() + "/" + lapNumber.ToString(); } if (car [1] != null && car [1].name == other.name && Txt_P2_Lap) { Txt_P2_Lap.text = "Lap " + (car [1].iLapCounter).ToString() + "/" + lapNumber.ToString(); } } } } if (b_ActivateLapCounter) { if (other.tag == "Car" && carPathFollow.iLapCounter >= lapNumber + 1) // A car finish the race //Debug.Log (other.name + " finished the race"); { for (var i = 0; i < car.Count; i++) { if (car [i] != null && car [i].name == other.name && !raceFinished [i]) { raceFinished [i] = true; carTime [i] = Timer; carController [i].raceIsFinished = true; if (i == 0 && player2IsManageByCPU) { PlayerPrefs.SetInt("CurrentScore", Mathf.RoundToInt(carTime [i] * 1000)); gameManager.RaceIsFinished(); } else if ((i == 0 || i == 1) && !player2IsManageByCPU && carController [0] != null && carController [0].raceIsFinished && carController [1] != null && carController [1].raceIsFinished) { gameManager.RaceIsFinished(); } } } } } }
public progressionCompare(CarPathFollow newCar, int newtotal) { car = newCar; total = newtotal; }
public void displayLap(CarPathFollow carAddLap) { }
void OnTriggerEnter(Collider other) { CarPathFollow carPathFollow = other.GetComponent <CarPathFollow> (); if (other.tag == "Car" && carPathFollow.iLapCounter < lapNumber + 1) // A car finish a lap { if (b_ActivateLapCounter) { if (b_Multiplayer) { #if PHOTON_UNITY_NETWORKING for (var j = 0; j < gManagerPhoton.tmpCarList.Count; j++) { if (gManagerPhoton.tmpCarList[j] && gManagerPhoton.tmpCarList[j].gameObject == other.gameObject) { if (gManagerPhoton.tmpPhotonManagerList[j].GetComponent <PhotonView>().IsMine) { if (carPathFollow.iLapCounter <= lapNumber + 1) { Debug.Log("Lap"); Txt_P1_Lap.text = "Lap " + (gManagerPhoton.tmpCarList[j].GetComponent <CarPathFollow>().iLapCounter).ToString() + "/" + lapNumber.ToString(); } } } } #endif } else { if (carPathFollow.iLapCounter <= lapNumber + 1) { if (car[0] != null && car[0].gameObject == other.gameObject && Txt_P1_Lap) { Txt_P1_Lap.text = "Lap " + (car[0].iLapCounter).ToString() + "/" + lapNumber.ToString(); } if (car[1] != null && car[1].name == other.name && Txt_P2_Lap) { Txt_P2_Lap.text = "Lap " + (car[1].iLapCounter).ToString() + "/" + lapNumber.ToString(); } } } } } if (b_ActivateLapCounter) { if (other.tag == "Car" && carPathFollow.iLapCounter >= lapNumber + 1) // A car finish the race //Debug.Log (other.name + " finished the race"); { for (var i = 0; i < car.Count; i++) { if (car[i] != null && car[i].gameObject == other.gameObject && raceFinished[i]) { carController [i].raceIsFinished = true; } if (car [i] != null && car [i].gameObject == other.gameObject && !raceFinished [i]) { raceFinished [i] = true; carTime [i] = Timer; carController [i].raceIsFinished = true; //GM_Photon.DisplayScoreMultiOnline(carController[i].gameObject); if (PlayerPrefs.GetString("Which_GameMode") == "OnlineMultiPlayer") { #if PHOTON_UNITY_NETWORKING PlayerPrefs.SetInt("CurrentScore", Mathf.RoundToInt(carTime[i] * 1000)); MCR.GameManager_MCR_Photon GM_Photon = GameObject.Find("GM_Photon").GetComponent <MCR.GameManager_MCR_Photon>(); if (GM_Photon != null) { Debug.Log(" GM_Photon "); } else { Debug.Log(" GM_Photon nuii"); } Debug.Log(" carTime[ " + i + " ] " + carTime[i]); StartCoroutine( GM_Photon.WinProcessOnlineMultiplayer( carController[i].gameObject, Mathf.RoundToInt(carTime[i] * 1000))); #endif } else if (i == 0 && player2IsManageByCPU) { PlayerPrefs.SetInt("CurrentScore", Mathf.RoundToInt(carTime [i] * 1000)); gameManager.RaceIsFinished(); CheckIfNextTrackMustBeUnlocked(); } else if ((i == 0 || i == 1) && !player2IsManageByCPU && carController [0] != null && carController [0].raceIsFinished && carController [1] != null && carController [1].raceIsFinished) { gameManager.RaceIsFinished(); CheckIfNextTrackMustBeUnlocked(); } } } } } }