fix input and delete dead code
This commit is contained in:
@@ -24,8 +24,6 @@ signal camera_changed(camera: Camera3D)
|
||||
var is_zoomed : bool = false
|
||||
var zoom_tween : Tween
|
||||
|
||||
var is_moving_enabled : bool = true
|
||||
|
||||
var is_cinematic_mode : bool = false
|
||||
var cinematic_timer : float = 0.0
|
||||
var cinematic_index : int = 0
|
||||
@@ -46,25 +44,44 @@ func _ready():
|
||||
if camera_iso:
|
||||
set_camera(camera_iso)
|
||||
|
||||
func sync_zoom(new_size: float, new_fov: float) -> void:
|
||||
func sync_zoom(new_size: float, new_fov: float, photo_is_zoomed: bool = false) -> void:
|
||||
if camera_iso:
|
||||
if zoom_tween and zoom_tween.is_valid():
|
||||
zoom_tween.kill()
|
||||
|
||||
camera_iso.size = new_size
|
||||
camera_iso.fov = new_fov
|
||||
|
||||
if abs(new_size - zoom_size) < abs(new_size - normal_size):
|
||||
is_zoomed = true
|
||||
else:
|
||||
is_zoomed = false
|
||||
is_zoomed = photo_is_zoomed
|
||||
|
||||
var target_size = zoom_size if is_zoomed else normal_size
|
||||
if not is_equal_approx(camera_iso.size, target_size):
|
||||
zoom_tween = create_tween()
|
||||
zoom_tween.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_IN_OUT)
|
||||
zoom_tween.tween_property(camera_iso, "size", target_size, zoom_time)
|
||||
zoom_tween.parallel().tween_property(camera_iso, "fov", target_size, zoom_time)
|
||||
|
||||
func set_camera(camera: Camera3D):
|
||||
camera.make_current()
|
||||
emit_signal("camera_changed", camera)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if camera_iso == null or get_viewport().get_camera_3d() != camera_iso:
|
||||
var current_cam = get_viewport().get_camera_3d()
|
||||
var is_photo_mode = current_cam != null and not current_cam in array_camera
|
||||
|
||||
if not is_photo_mode:
|
||||
if is_cinematic_mode and array_camera.size() > 0:
|
||||
cinematic_timer += delta
|
||||
if cinematic_timer >= change_camera_time:
|
||||
cinematic_timer = 0.0
|
||||
cinematic_index = (cinematic_index + 1) % array_camera.size()
|
||||
var next_cam = array_camera[cinematic_index]
|
||||
set_camera(next_cam)
|
||||
|
||||
if camera_iso == null or current_cam != camera_iso:
|
||||
return
|
||||
|
||||
if Input.is_action_just_pressed("photo_zoom_in"):
|
||||
if Input.is_action_just_pressed("zoom_in"):
|
||||
if is_zoomed == false:
|
||||
return
|
||||
is_zoomed = false
|
||||
@@ -78,7 +95,7 @@ func _process(delta: float) -> void:
|
||||
zoom_tween.tween_property(camera_iso, "size", target_size, zoom_time)
|
||||
zoom_tween.parallel().tween_property(camera_iso, "fov", target_size, zoom_time)
|
||||
|
||||
elif Input.is_action_just_pressed("photo_zoom_out"):
|
||||
elif Input.is_action_just_pressed("zoom_out"):
|
||||
if is_zoomed == true:
|
||||
return
|
||||
is_zoomed = true
|
||||
@@ -91,36 +108,3 @@ func _process(delta: float) -> void:
|
||||
zoom_tween.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_IN_OUT)
|
||||
zoom_tween.tween_property(camera_iso, "size", target_size, zoom_time)
|
||||
zoom_tween.parallel().tween_property(camera_iso, "fov", target_size, zoom_time)
|
||||
|
||||
#func _process_movement(delta):
|
||||
#if is_cinematic_mode and array_camera.size() > 0:
|
||||
#cinematic_timer += delta
|
||||
#if cinematic_timer >= change_camera_time:
|
||||
#cinematic_timer = 0.0
|
||||
#cinematic_index = (cinematic_index + 1) % array_camera.size()
|
||||
#var next_cam = array_camera[cinematic_index]
|
||||
#set_camera(next_cam)
|
||||
#is_moving_enabled = (next_cam == camera_iso)
|
||||
#
|
||||
#if not is_moving_enabled or pivot == null:
|
||||
#return
|
||||
#
|
||||
#var input_dir = Vector3.ZERO
|
||||
#if Input.is_key_pressed(KEY_W): input_dir.z -= 1
|
||||
#if Input.is_key_pressed(KEY_S): input_dir.z += 1
|
||||
#if Input.is_key_pressed(KEY_A): input_dir.x -= 1
|
||||
#if Input.is_key_pressed(KEY_D): input_dir.x += 1
|
||||
#
|
||||
#if input_dir != Vector3.ZERO:
|
||||
#input_dir = input_dir.normalized()
|
||||
#
|
||||
#var forward = pivot.transform.basis.z
|
||||
#var right = pivot.transform.basis.x
|
||||
#forward.y = 0
|
||||
#right.y = 0
|
||||
#
|
||||
#forward = forward.normalized()
|
||||
#right = right.normalized()
|
||||
#
|
||||
#var motion = (forward * input_dir.z + right * input_dir.x)
|
||||
#pivot.position += motion * move_speed * delta
|
||||
|
||||
@@ -73,6 +73,8 @@ func _unhandled_input(event: InputEvent) -> void:
|
||||
else:
|
||||
_open_game_menu_on_page(2)
|
||||
elif event.is_action_pressed("hide_ui"):
|
||||
if photo_mode_texture_panel.visible:
|
||||
return
|
||||
if not game_menu_panel.visible:
|
||||
_on_hide_ui_button_pressed()
|
||||
|
||||
|
||||
@@ -53,10 +53,23 @@ func enable_photo_mode() -> void:
|
||||
camera.size = previous_camera.size
|
||||
camera.fov = previous_camera.fov
|
||||
|
||||
if abs(camera.size - zoom_size) < abs(camera.size - normal_size):
|
||||
is_zoomed = true
|
||||
if rotation_target and "is_zoomed" in rotation_target:
|
||||
is_zoomed = rotation_target.is_zoomed
|
||||
if "zoom_tween" in rotation_target and rotation_target.zoom_tween and rotation_target.zoom_tween.is_valid():
|
||||
rotation_target.zoom_tween.kill()
|
||||
else:
|
||||
is_zoomed = false
|
||||
if abs(camera.size - zoom_size) < abs(camera.size - normal_size):
|
||||
is_zoomed = true
|
||||
else:
|
||||
is_zoomed = false
|
||||
|
||||
var target_size = zoom_size if is_zoomed else normal_size
|
||||
if not is_equal_approx(camera.size, target_size):
|
||||
zoom_tween = create_tween()
|
||||
zoom_tween.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_IN_OUT)
|
||||
zoom_tween.tween_property(camera, "size", target_size, zoom_time)
|
||||
zoom_tween.parallel().tween_property(camera, "fov", target_size, zoom_time)
|
||||
|
||||
camera.make_current()
|
||||
|
||||
func disable_photo_mode() -> void:
|
||||
@@ -66,9 +79,8 @@ func disable_photo_mode() -> void:
|
||||
previous_camera.size = camera.size
|
||||
previous_camera.fov = camera.fov
|
||||
|
||||
var parent = previous_camera.get_parent()
|
||||
if parent and parent.has_method("sync_zoom"):
|
||||
parent.sync_zoom(camera.size, camera.fov)
|
||||
if rotation_target and rotation_target.has_method("sync_zoom"):
|
||||
rotation_target.sync_zoom(camera.size, camera.fov, is_zoomed)
|
||||
|
||||
previous_camera.make_current()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user