saumwacht-godot/scripts/luneraria/ui/components/lune_glyph.gd
Martin Stickelbroeck 1b540f2a55 G3 (Zwischenstand): neues Ingame-HUD; Projekt wechselt nach Unity
Nicht abgenommen: Nach dem ersten Spieltest wurde entschieden, Champions of
Luneraria nach Unity 6 zu portieren. Dieser Stand ist die Referenz für das
HUD im Unity-Projekt (../luneraria-unity).

- HUD neu aus Komponenten mit eigenem Theme, Porträts aus den echten Modellen
  (einmal gerendert, zwischengespeichert), Lane-Übersicht mit deterministischer
  Bedrohung aus öffentlichem Zustand, Bossgrotte, nächste Welle, Ereignisse,
  Minimap mit zusammengefassten Armeen, Held/Items/Talente, Einheitendetails,
  Angriffschampions, Bereit-Sperre, UI-Größe, Team-Formen statt nur Farben
- Privatsphäre über LuneHudModel: fremdes Gold und fremde Entwürfe erscheinen nie
- Keine Regeländerung: Regeln 91/91, M2 73/73, Netz 43/43; verify_g3 715/715;
  verify_m1 38/38 und verify_m2 14/14 mit angepassten UI-Treibern
- Spieltest bis Welle 8 über die echte Oberfläche, Befunde in G3-HUD.md
- HELDEN-KONZEPT.md: vom Projektinhaber vorgegebene Helden (nicht umgesetzt)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 19:59:55 +02:00

32 lines
908 B
GDScript

class_name LuneGlyph
extends Control
## A LuneGlyphs symbol as a control (icons in cards, badges and rows). Ignores the mouse.
var glyph: String = "":
set(value):
if value != glyph:
glyph = value
queue_redraw()
var color: Color = LuneUiTheme.TEXT:
set(value):
if value != color:
color = value
queue_redraw()
var accent: Color = Color(0, 0, 0, 0)
static func make(name_value: String, tint: Color, edge: float = 18.0, parent: Node = null) -> LuneGlyph:
var result := LuneGlyph.new()
result.glyph = name_value
result.color = tint
result.custom_minimum_size = Vector2(edge, edge)
result.size_flags_vertical = Control.SIZE_SHRINK_CENTER
if parent != null:
parent.add_child(result)
return result
func _init() -> void:
mouse_filter = Control.MOUSE_FILTER_IGNORE
func _draw() -> void:
if not glyph.is_empty():
LuneGlyphs.draw(self, glyph, Rect2(Vector2.ZERO, size), color, accent)