private void KillBus() { gameManager.SpawnTrain(settings.playerId, 5); DeadVehicle go = Instantiate(settings.deadBusPrefab, transform.position, transform.rotation).GetComponent <DeadVehicle>(); if (go != null) { go.SetVelocity(rig.velocity); } Destroy(gameObject); }
/// <summary> /// Removes The Train /// </summary> private IEnumerator KillTrain() { gettingRemoved = true; // Show a destroyed version of the train DeadVehicle deadVehicle = Instantiate(settings.global.TrainDeathEffect, transform.position, transform.rotation).GetComponent <DeadVehicle>(); if (deadVehicle != null) { deadVehicle.SetVelocity(rig.velocity); } GetComponent <BoxCollider>().enabled = false; Destroy(transform.GetChild(0).gameObject); // Destroy all the wagons one by one for (int i = 0; i < wagons.Count; i++) { yield return(new WaitForSeconds(0.03f)); Instantiate(settings.global.WagonDeathEffect, wagons[i].transform.position, wagons[i].transform.rotation); if (Random.Range(0, 2) == 0) { Rigidbody passangerRig = Instantiate(settings.global.passenger, wagons[i].transform.position, wagons[i].transform.rotation).GetComponent <Rigidbody>(); passangerRig.AddForce(Vector3.up * 5, ForceMode.Impulse); } Destroy(wagons[i].gameObject); } gameManager.RemoveCinemachineTargetGroupTarget(transform); // Spawn a new train gameManager.SpawnTrain(settings.playerId, 5); Destroy(gameObject); }