예제 #1
0
    // Start is called before the first frame update
    void Start()
    {
        car_variant = GameObject.FindGameObjectWithTag("Player");
        text        = GameObject.Find("LapTimeText");
        s_text      = GameObject.Find("SpeedText");
        finish      = GameObject.Find("FinalText");

        car_body = car_variant.GetComponent <Rigidbody>();

        finish.SetActive(false);

        lap_time_text = text.GetComponent <Text>();
        speed_text    = s_text.GetComponent <Text>();

        check_point_check = car_variant.GetComponent <CheckpointCheck>();
        car_controller    = car_variant.GetComponent <UnityStandardAssets.Vehicles.Car.CarController>();
        car_user_control  = car_variant.GetComponent <UnityStandardAssets.Vehicles.Car.CarUserControl>();

        current_speed   = car_controller.CurrentSpeed;
        speed_text.text = current_speed.ToString();

        lap_time           = check_point_check.lap_time;
        lap_time_text.text = "LAP TIME: ";

        victory = check_point_check.victory;
    }
예제 #2
0
    private void RespawnInRace()
    {
        CheckpointCheck lastChecked = startCheckpoint.FindLastChecked();

        if (player == null)
        {
            player = GameObject.FindGameObjectWithTag("MainPlayer");
        }
        if (lastChecked)
        {
            player.transform.position = lastChecked.transform.position + Vector3.up * 2f;
            player.transform.rotation = lastChecked.GetRotationTowardsNext();
            player.GetComponent <Rigidbody>().velocity        = Vector3.zero;
            player.GetComponent <Rigidbody>().angularVelocity = Vector3.zero;
        }
    }