66 lines
2.5 KiB
GDScript
66 lines
2.5 KiB
GDScript
extends "res://src/ui/panels/editor_panel.gd"
|
||
## Statusleiste (aus main.gd ausgezogen, Karte t_eaccbfed U1 — Logik
|
||
## unverändert): Hilfs-Meldungen + permanente Werkzeug-Anzeige +
|
||
## Symmetrie-Anzeige + Objekt-/Terrain-Zähler + FPS-Timer.
|
||
|
||
var status_label: Label
|
||
var tool_label: Label # permanenter Werkzeugmodus + Flug-Hint
|
||
var sym_label: Label
|
||
var stats_objects: Label
|
||
var stats_terrain: Label
|
||
|
||
|
||
static func spec() -> Dictionary:
|
||
return {"titel": "Statuszeile", "gruppe": "status", "order": 0}
|
||
|
||
|
||
func build() -> void:
|
||
add_theme_constant_override("separation", UIScale.px(16))
|
||
status_label = Label.new()
|
||
status_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||
status_label.clip_text = true # langer Text darf das Layout NICHT sprengen
|
||
add_child(status_label)
|
||
|
||
# Karte 3/3 (t_11b5c25b): PERMANENTE Werkzeug-Anzeige — Sly sieht immer,
|
||
# in welchem Werkzeug er ist, plus Hint für den Flugmodus (Umschalt+F).
|
||
tool_label = Label.new()
|
||
# U7: Werkzeug-Farbe über Theme (Editor/colors/accent).
|
||
tool_label.add_theme_color_override("font_color",
|
||
theme_color("accent"))
|
||
# Karte t_297221b5: Statuszeilen-Labels egalisiert (min-size-Druck bei 1.5×)
|
||
tool_label.clip_text = true
|
||
tool_label.text_overrun_behavior = TextServer.OVERRUN_TRIM_ELLIPSIS
|
||
add_child(tool_label)
|
||
|
||
# Symmetrie-Anzeige (Karte t_f5935023, M1): Sly sieht in der Statuszeile
|
||
# immer, ob/wie gespiegelt wird (Standard: Punkt).
|
||
sym_label = Label.new()
|
||
# U7: Symmetrie-Farbe über Theme (Editor/colors/accent).
|
||
sym_label.add_theme_color_override("font_color",
|
||
theme_color("accent"))
|
||
sym_label.clip_text = true
|
||
sym_label.text_overrun_behavior = TextServer.OVERRUN_TRIM_ELLIPSIS
|
||
add_child(sym_label)
|
||
|
||
stats_objects = Label.new()
|
||
# U7: Nebentext-Farbe über Theme (Editor/colors/field).
|
||
stats_objects.add_theme_color_override("font_color",
|
||
theme_color("field"))
|
||
stats_objects.clip_text = true
|
||
stats_objects.text_overrun_behavior = TextServer.OVERRUN_TRIM_ELLIPSIS
|
||
add_child(stats_objects)
|
||
|
||
# Terrain-Anteil + Editor-FPS (Perf-Zähler, Karte t_9aba04f1)
|
||
stats_terrain = Label.new()
|
||
# U7: Nebentext-Farbe über Theme (Editor/colors/field).
|
||
stats_terrain.add_theme_color_override("font_color",
|
||
theme_color("field"))
|
||
stats_terrain.clip_text = true
|
||
stats_terrain.text_overrun_behavior = TextServer.OVERRUN_TRIM_ELLIPSIS
|
||
add_child(stats_terrain)
|
||
|
||
var fps_timer := Timer.new()
|
||
fps_timer.wait_time = 0.5
|
||
fps_timer.autostart = true
|
||
fps_timer.timeout.connect(main.call.bind("_refresh_stats"))
|
||
add_child(fps_timer)
|