feat: adapt fishing visuals to character scale

This commit is contained in:
Alexander Sellite 2026-08-08 10:25:17 -04:00
parent 038b628061
commit 0bbd449c55
4 changed files with 63 additions and 13 deletions

View file

@ -19,6 +19,7 @@ var _return_tween: Tween
var _showcase_tween: Tween
var _return_showcase_catch: FishCatch
var _bobber_idle_elapsed: float = 0.0
var _bobber_base_scale: Vector3 = Vector3.ONE
func setup(owning_player: Player) -> void:
@ -52,11 +53,12 @@ func show_cast(origin: Vector3, target: Vector3) -> void:
return
_kill_cast_tween()
_active = true
_bobber_base_scale = Vector3.ONE * _owner.get_character_visual_scale()
_target = origin
_pending_target = target
_bobber_idle_elapsed = 0.0
_bobber.global_position = origin
_bobber.scale = Vector3.ONE
_bobber.scale = _bobber_base_scale
_bobber.visible = true
_line.visible = true
_owner.set_active_item_is_rod(true)
@ -87,12 +89,16 @@ func update_bobber(world_position: Vector3) -> void:
func show_bite() -> void:
if not _active:
return
if _owner != null and is_instance_valid(_owner):
_owner.set_fighting_visual(true)
var tween: Tween = create_tween()
tween.tween_property(_bobber, "scale", Vector3.ONE * 0.7, 0.08)
tween.tween_property(_bobber, "scale", Vector3.ONE, 0.12)
tween.tween_property(_bobber, "scale", _bobber_base_scale * 0.7, 0.08)
tween.tween_property(_bobber, "scale", _bobber_base_scale, 0.12)
func play_return(showcase_catch: FishCatch = null) -> void:
if _owner != null and is_instance_valid(_owner):
_owner.set_fighting_visual(false)
if not _active or _bobber == null:
cleanup()
return_completed.emit()
@ -128,10 +134,12 @@ func cleanup() -> void:
_return_showcase_catch = null
_bobber_idle_elapsed = 0.0
if _owner != null and is_instance_valid(_owner):
_owner.set_fighting_visual(false)
_owner.end_catch_showcase(Callable(), true)
if _bobber != null:
_bobber.visible = false
_bobber.scale = Vector3.ONE
_bobber_base_scale = Vector3.ONE
if _line != null:
_line.visible = false
_line_mesh.clear_surfaces()