scopedvr-map-editor/src/ui/panels/object_tools_panel.gd

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)