private void Start() { if (!localPlayerAuthority) { enabled = false; return; } rb = GetComponent <Rigidbody>(); v = GetComponent <VehicleBehaviour>(); if (!rb) { rb = gameObject.AddComponent <Rigidbody>(); } originalSpeed = MaxSpeed; originalFuelBurnRate = fuelBurnRate; }
private void EnterVehicleWithTimer(VehicleBehaviour vehicleBrain) { if (Input.GetKey(KeyCode.F)) { enterTimer += Time.fixedDeltaTime; //INCREMENT TIME WHILE THE 'F' KEY IS HELD } else { enterTimer = 0; //RESET TIMER } if (enterTimer >= TimeToEnterVehicle) { var vActive = vehicleBrain.vehicleActive; var vehicleIdentity = vehicleBrain.GetComponent <NetworkIdentity>(); if (!isHolding && !vehicleBrain.isDestroyed) //DO NOT ENTER VEHICLE WHILE HOLDING AN ITEM, OR IF THE VEHICLE IS DESTROYED { if (!vActive && playerBrain.vehicle == null) //CHECK IF THE VEHICLE IS ALREADY IN USE { //GET IN THE VEHICLE playerBrain.CmdSetDriving(true); playerBrain.SetVehicle(vehicleBrain); CmdSetVehicleActive(true, vehicleIdentity); CmdSetPlayerInSeat(true, vehicleIdentity); CmdSetVehicleColor(playerBrain.vehicleColor, vehicleIdentity); CmdAssignVehicleAuthority(vehicleIdentity); vehicleBrain.seatedPlayer = playerBrain; var player_netIdentity = playerBrain.GetComponent <NetworkIdentity>(); vehicleBrain.owner = player_netIdentity; exitTimer = 0.0f; enterTimer = 0.0f; } } } }
public void SetVehicle(VehicleBehaviour vehicleBehaviour) { vehicle = vehicleBehaviour; }
private void FixedUpdate() { if (!localPlayerAuthority) { enabled = false; return; } if (vehicle == null) { isDriving = false; } else { isDriving = true; } var model1 = transform.Find("Model-Head"); var model2 = transform.Find("Model-Body"); var rb = GetComponent <Rigidbody>(); if (isDriving) { vehicle.enabled = true; playerMovement.enabled = false; interaction.enabled = false; var ammoBox = p.ammo; vehicle._v.ammunition = ammoBox; //DISABLE THE PLAYER COLLIDER(S) IF DRIVING model1.gameObject.SetActive(false); model2.gameObject.SetActive(false); transform.position = vehicle.seat.position; transform.rotation = vehicle.seat.rotation; rb.isKinematic = true; //NEEDS WORK if (Input.GetKeyDown(KeyCode.F)) { //GET OUT OF VEHICLE vehicle._v.ammunition = null; vehicle.SetVehicleActive(false); vehicle = null; isDriving = false; } } else { vehicle = null; playerMovement.enabled = true; interaction.enabled = true; //ENABLE THE PLAYER COLLIDER(S) IF NOT DRIVING model1.gameObject.SetActive(true); model2.gameObject.SetActive(true); rb.isKinematic = false; } }