This commit is contained in:
2026-03-05 22:47:43 -08:00
parent a2eb4de815
commit 8cfae8dea2
285 changed files with 2814 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
extends Node2D
var hovered_setpieces: Array[String] = []
var hovered_setpieces: Array[Dictionary] = []
@onready var label : Label = $"label"
func _ready():
@@ -73,24 +73,45 @@ func _process(delta):
func _on_setpiece_entered(lab: String) -> void:
if lab not in hovered_setpieces:
hovered_setpieces.append(lab)
var piece = get_setpiece_by_label(lab)
if piece:
var entry = {"label": lab, "priority": piece.priority}
if not _has_entry_with_label(lab):
hovered_setpieces.append(entry)
_update_label()
func _on_setpiece_exited(lab: String) -> void:
hovered_setpieces.erase(lab)
for i in range(hovered_setpieces.size()):
if hovered_setpieces[i].label == lab:
hovered_setpieces.remove_at(i)
break
_update_label()
func _has_entry_with_label(lab: String) -> bool:
for entry in hovered_setpieces:
if entry.label == lab:
return true
return false
func get_setpiece_by_label(lab: String) -> SetPiece:
var scene = get_parent()
for child in scene.find_children("*", "SetPiece", true, false):
if child is SetPiece and child.label == lab:
return child
return null
func _update_label() -> void:
print(hovered_setpieces)
if hovered_setpieces.is_empty():
$label.hide()
return
var top_label = hovered_setpieces[0]
hovered_setpieces.sort_custom(func(a, b): return b.priority > a.priority)
var top_entry = hovered_setpieces[0]
$label.show()
$label.text = top_label
$label.text = top_entry.label
var size = label.label_settings.font.get_string_size(top_label, HORIZONTAL_ALIGNMENT_LEFT, 200, 32)
var size = label.label_settings.font.get_string_size(top_entry.label, HORIZONTAL_ALIGNMENT_LEFT, 200, 32)
label.size = size