enhancing car behavior
This commit is contained in:
+13
-2
@@ -26,6 +26,9 @@ var _camera_pitch := 0.0
|
||||
var _in_vehicle := false
|
||||
var _vehicle_collision_layer := 0
|
||||
var _vehicle_collision_mask := 0
|
||||
var _vehicle_original_parent: Node = null
|
||||
var _light_was_on := false
|
||||
@onready var _flashlight: SpotLight3D = $SpotLight3D
|
||||
|
||||
@export var camera_follow_speed := 10.0
|
||||
|
||||
@@ -155,8 +158,8 @@ func _input(event):
|
||||
elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN:
|
||||
zoom_camera(ZOOM_FACTOR) # Zoom out
|
||||
|
||||
if event.is_action_pressed("player_light"):
|
||||
$SpotLight3D.visible = !$SpotLight3D.visible
|
||||
if event.is_action_pressed("player_light"):
|
||||
_flashlight.visible = !_flashlight.visible
|
||||
|
||||
func zoom_camera(factor):
|
||||
var new_fov = cam.fov * factor
|
||||
@@ -168,7 +171,11 @@ func enter_vehicle(_vehicle: Node, seat: Node3D, vehicle_camera: Camera3D) -> vo
|
||||
sleeping = true
|
||||
collision_layer = 0
|
||||
collision_mask = 0
|
||||
_vehicle_original_parent = get_parent()
|
||||
_light_was_on = _flashlight.visible
|
||||
_flashlight.visible = false
|
||||
if seat:
|
||||
reparent(seat, true)
|
||||
global_transform = seat.global_transform
|
||||
if cam:
|
||||
cam.current = false
|
||||
@@ -181,6 +188,10 @@ func exit_vehicle(exit_point: Node3D, vehicle_camera: Camera3D) -> void:
|
||||
sleeping = false
|
||||
collision_layer = _vehicle_collision_layer
|
||||
collision_mask = _vehicle_collision_mask
|
||||
if _vehicle_original_parent:
|
||||
reparent(_vehicle_original_parent, true)
|
||||
_vehicle_original_parent = null
|
||||
_flashlight.visible = _light_was_on
|
||||
if exit_point:
|
||||
global_transform = exit_point.global_transform
|
||||
if vehicle_camera:
|
||||
|
||||
Reference in New Issue
Block a user