Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    /// <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);
    }