private void CreateVehicles()
    {
        for (int i = 0; i < RCC_DemoVehicles.Instance.vehicles.Length; i++)
        {
            // Spawning the vehicle with no controllable, no player, and engine off. We don't want to let player control the vehicle while in selection menu.
            RCC_CarControllerV3 spawnedVehicle = RCC.SpawnRCC(RCC_DemoVehicles.Instance.vehicles[i], spawnPosition.position, spawnPosition.rotation, false, false, false);

            // Disabling spawned vehicle.
            spawnedVehicle.gameObject.SetActive(false);

            // Adding and storing it in _spawnedVehicles list.
            _spawnedVehicles.Add(spawnedVehicle);
        }

        SpawnVehicle();

        // If RCC Camera is choosen, it wil enable RCC_CameraCarSelection script. This script was used for orbiting camera.
        if (RCCCamera)
        {
            if (RCCCamera.GetComponent <RCC_CameraCarSelection> ())
            {
                RCCCamera.GetComponent <RCC_CameraCarSelection> ().enabled = true;
            }
        }
    }
Пример #2
0
    // Use this for initialization
    void Start()
    {
        int selectedIndex = PlayerPrefs.GetInt("SelectedRCCVehicle", 0);

        RCC.SpawnRCC(RCC_DemoVehicles.Instance.vehicles [selectedIndex], transform.position, transform.rotation, true, true, true);
    }
Пример #3
0
    public void Spawn()
    {
        // Last known position and rotation of last active vehicle.
        Vector3    lastKnownPos = new Vector3();
        Quaternion lastKnownRot = new Quaternion();

        // Checking if there is a player vehicle on the scene.
        if (RCC_SceneManager.Instance.activePlayerVehicle)
        {
            lastKnownPos = RCC_SceneManager.Instance.activePlayerVehicle.transform.position;
            lastKnownRot = RCC_SceneManager.Instance.activePlayerVehicle.transform.rotation;
        }

        // If last known position and rotation is not assigned, camera's position and rotation will be used.
        if (lastKnownPos == Vector3.zero)
        {
            if (RCC_SceneManager.Instance.activePlayerCamera)
            {
                lastKnownPos = RCC_SceneManager.Instance.activePlayerCamera.transform.position;
                lastKnownRot = RCC_SceneManager.Instance.activePlayerCamera.transform.rotation;
            }
        }

        // We don't need X and Z rotation angle. Just Y.
        lastKnownRot.x = 0f;
        lastKnownRot.z = 0f;

        RCC_CarControllerV3 lastVehicle = RCC_SceneManager.Instance.activePlayerVehicle;

                #if BCG_ENTEREXIT
        BCG_EnterExitVehicle lastEnterExitVehicle;
        bool enterExitVehicleFound = false;

        if (lastVehicle)
        {
            lastEnterExitVehicle = lastVehicle.GetComponentInChildren <BCG_EnterExitVehicle> ();

            if (lastEnterExitVehicle && lastEnterExitVehicle.driver)
            {
                enterExitVehicleFound = true;
                BCG_EnterExitManager.Instance.waitTime = 10f;
                lastEnterExitVehicle.driver.GetOut();
            }
        }
                #endif

        // If we have controllable vehicle by player on scene, destroy it.
        if (lastVehicle)
        {
            Destroy(lastVehicle.gameObject);
        }

        // Here we are creating our new vehicle.
        RCC.SpawnRCC(selectableVehicles[selectedVehicleIndex], lastKnownPos, lastKnownRot, true, true, true);

                #if BCG_ENTEREXIT
        if (enterExitVehicleFound)
        {
            lastEnterExitVehicle = null;

            lastEnterExitVehicle = RCC_SceneManager.Instance.activePlayerVehicle.GetComponentInChildren <BCG_EnterExitVehicle> ();

            if (!lastEnterExitVehicle)
            {
                lastEnterExitVehicle = RCC_SceneManager.Instance.activePlayerVehicle.gameObject.AddComponent <BCG_EnterExitVehicle> ();
            }

            if (BCG_EnterExitManager.Instance.BCGCharacterPlayer.characterPlayer && lastEnterExitVehicle && lastEnterExitVehicle.driver == null)
            {
                BCG_EnterExitManager.Instance.waitTime = 10f;
                BCG_EnterExitManager.Instance.BCGCharacterPlayer.characterPlayer.GetIn(lastEnterExitVehicle);
            }
        }
                #endif
    }
Пример #4
0
    public bool engineRunning;                        // Spawn with running engine?

    public void Spawn()
    {
        // Spawning the vehicle with given settings.
        currentVehiclePrefab = RCC.SpawnRCC(spawnVehiclePrefab, spawnTransform.position, spawnTransform.rotation, playerVehicle, controllable, engineRunning);
    }