33 lines
1.3 KiB
GDScript
33 lines
1.3 KiB
GDScript
extends "res://src/ui/panels/editor_panel.gd"
|
|
## Objekt-Werkzeuge (aus main.gd ausgezogen, Karte t_eaccbfed U1 — Logik
|
|
## unverändert): „Alles auf den Boden setzen" + Raster-Snap-Schalter. Vor U1
|
|
## wohnten diese beiden Widgets in der linken Spalte unter der Bibliothek;
|
|
## sie sind als eigener Registry-Bereich (Gruppe "unten") erhalten geblieben,
|
|
## damit nichts verschwindet.
|
|
|
|
var snap_btn: Button
|
|
var grid_check: CheckButton
|
|
|
|
|
|
static func spec() -> Dictionary:
|
|
return {"titel": "Objekt-Werkzeuge", "gruppe": "unten", "order": 20}
|
|
|
|
|
|
func panel_title() -> String:
|
|
return "Objekt-Werkzeuge"
|
|
|
|
|
|
func build() -> void:
|
|
snap_btn = Button.new()
|
|
snap_btn.text = "⚡ Alles auf den Boden setzen"
|
|
snap_btn.custom_minimum_size = UIScale.v2(0, 44)
|
|
snap_btn.tooltip_text = "Setzt ALLE Objekte auf die Terrain-Höhe — z. B. nach dem Terrain-Formen, wenn etwas in der Luft hängt"
|
|
snap_btn.pressed.connect(func() -> void: main.call("_on_snap_to_ground"))
|
|
add_child(snap_btn)
|
|
|
|
grid_check = CheckButton.new()
|
|
grid_check.text = "Raster-Snap (1 m)"
|
|
grid_check.custom_minimum_size = UIScale.v2(0, 40)
|
|
grid_check.tooltip_text = "Neue und verschobene Objekte rasten auf ein 1-Meter-Raster ein"
|
|
grid_check.toggled.connect(func(pressed: bool) -> void: main.call("_on_grid_snap_changed", pressed))
|
|
add_child(grid_check)
|