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>
24 lines
934 B
GDScript
24 lines
934 B
GDScript
extends Control
|
|
## Camera frame on the minimap. A separate layer, so moving the camera only redraws this
|
|
## outline and not the whole map.
|
|
|
|
var map: Control
|
|
|
|
func _init() -> void:
|
|
mouse_filter = Control.MOUSE_FILTER_IGNORE
|
|
|
|
func _draw() -> void:
|
|
if map == null:
|
|
return
|
|
var footprint: PackedVector2Array = map.camera_footprint
|
|
if footprint.size() == 4:
|
|
var outline := PackedVector2Array()
|
|
for corner: Vector2 in footprint:
|
|
outline.append(map.to_map(corner).clamp(Vector2.ZERO, size))
|
|
draw_colored_polygon(outline, Color(1, 1, 1, .05))
|
|
outline.append(outline[0])
|
|
draw_polyline(outline, Color(1, 1, 1, .75), 1.3, true)
|
|
else:
|
|
var center: Vector2 = map.to_map(Vector2(map.camera_focus.x, map.camera_focus.z))
|
|
var span: float = map.camera_span / ((LuneMap.HALF_EXTENT + 4.0) * 2.0) * size.x
|
|
draw_rect(Rect2(center - Vector2(span * .9, span * .55), Vector2(span * 1.8, span * 1.1)), Color(1, 1, 1, .6), false, 1.2)
|