fix(poc): resolve evaluator and review findings

- Add RectangleShape2D to Character and InteractiveObject collision areas
- Fix HUD button signal connections in _ready()
- Fix character_placed signal emitting global_position
- Extract DEFAULT_DRAG_RADIUS constant in DragDropComponent
- Type Variant on JSON parsed variable in SaveManager
- Extract music symbol constants in HUD
- Refactor duplicated drag input code in InputManager

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Steven Wroblewski
2026-04-17 10:44:40 +02:00
parent 9a1e30d808
commit f7c8a7ec03
7 changed files with 40 additions and 21 deletions

View File

@@ -6,6 +6,7 @@ signal drag_released(global_position: Vector2)
const DRAG_Z_INDEX: int = 10
const DRAG_SCALE: float = 1.1
const DEFAULT_DRAG_RADIUS: float = 64.0
@export var drag_target: Node2D
@@ -73,8 +74,8 @@ func _is_position_over_target(screen_pos: Vector2) -> bool:
var local_pos: Vector2 = drag_target.to_local(world_pos)
var area: Area2D = drag_target.get_node_or_null("CollisionArea") as Area2D
if area == null:
return local_pos.length() < 64.0
return local_pos.length() < DEFAULT_DRAG_RADIUS
for child in area.get_children():
if child is CollisionShape2D and child.shape != null:
return child.shape.get_rect().has_point(local_pos)
return local_pos.length() < 64.0
return local_pos.length() < DEFAULT_DRAG_RADIUS

View File

@@ -1,13 +1,12 @@
## HUD — heads-up display with back button and music toggle.
extends CanvasLayer
const MUSIC_ON_SYMBOL: String = ""
const MUSIC_OFF_SYMBOL: String = ""
var _music_enabled: bool = true
func _ready() -> void:
pass
func _on_back_button_pressed() -> void:
get_tree().quit()
@@ -18,4 +17,4 @@ func _on_music_toggle_pressed() -> void:
AudioManager.set_music_volume(volume)
var btn: Button = get_node_or_null("MusicToggle") as Button
if btn != null:
btn.text = "" if _music_enabled else ""
btn.text = MUSIC_ON_SYMBOL if _music_enabled else MUSIC_OFF_SYMBOL