Пример #1
0
        public void RemovePlayerFromVehicle()
        {
            CmdSetDriving(false);
            isDriving = false;
            var vehicleIdentity = vehicle.GetComponent <NetworkIdentity>();

            interaction.CmdSetVehicleActive(false, vehicleIdentity);
            interaction.CmdSetPlayerInSeat(false, vehicleIdentity);

            vehicle.seatedPlayer = null;
            CmdRemoveVehicleAuthority(vehicleIdentity);

            transform.position = vehicle.seat.position;
            transform.rotation = vehicle.seat.rotation;

            vehicle = null;
        }
        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;
                    }
                }
            }
        }