97 lines
4.7 KiB
GDScript
97 lines
4.7 KiB
GDScript
extends RefCounted
|
||
## Kurzhilfe-Overlay (Karte t_11b5c25b, Karte 3/3) — H schaltet das Panel an,
|
||
## H/Esc aus. Der Text spiegelt docs/tasten.md (Source of truth der Shortcut-
|
||
## Karten) als Kompakt-Tabelle für den Editor-Bildschirm. Bei neuen Tasten:
|
||
## docs/tasten.md UND hier pflegen.
|
||
##
|
||
## BBCode-Tabelle ([table=2]): Taste | Wirkung. Bei neuen Tasten die Zeile in
|
||
## der passenden Sektion ergänzen (text() aufbauen, _rows() macht die Zellen).
|
||
|
||
static func text() -> String:
|
||
var out := ""
|
||
out += _header("Kamera & Steuerung")
|
||
out += _table(_rows([
|
||
["Mittlere Maustaste ziehen", "Orbit: um die Karte drehen"],
|
||
["Mittlere Maustaste + Umschalt", "Pan: Karte verschieben"],
|
||
["Mausrad", "Zoom"],
|
||
["Rechte Maustaste halten", "Freelook-Flug in jedem Werkzeug: Maus = Umsehen, W/A/S/D = Bewegen, Leertaste hoch, Umschalt runter"],
|
||
["Strg / Alt (im Flug)", "schneller (×3) / langsamer (×0,3); Mausrad ändert die Grundgeschwindigkeit"],
|
||
["Umschalt+F", "Flugmodus dauerhaft an/aus"],
|
||
["F", "Auswahl ins Bild zentrieren"],
|
||
["L", "Höhenlinien fixieren (sonst nur im Terrain-Werkzeug)"],
|
||
["H", "diese Hilfe an/aus (Esc schließt auch)"],
|
||
]))
|
||
out += _header("Objekte auswählen & platzieren (F2)")
|
||
out += _table(_rows([
|
||
["Linksklick", "Objekt wählen; Umschalt/Strg+Klick: Mehrfachauswahl"],
|
||
["Rahmen aufziehen", "alle Objekte im Rahmen wählen (Umschalt: hinzufügen)"],
|
||
["Bibliothek: Klick / Doppelklick", "Objekt auswählen / Platzieren starten; Klick in die Karte setzt, Esc bricht ab"],
|
||
["G", "greifen: Objekt hängt an der Maus (Klick setzt, Esc zurück)"],
|
||
["Pfeiltasten", "im 2-m-Raster verschieben"],
|
||
["Bild↑ / Bild↓", "0,25 m anheben / absenken; Strg+Bild↑ = auf den Boden setzen"],
|
||
["Strg halten", "Snap-Zwang auf ganze Meter"],
|
||
["Strg+D", "duplizieren"],
|
||
["Entf", "löschen"],
|
||
["Strg+G / Strg+Umschalt+G", "Gruppieren / Gruppe lösen"],
|
||
["Esc", "abbrechen, dann Auswahl aufheben"],
|
||
]))
|
||
out += _header("Objekte verschieben, drehen, kippen (Werkzeugleiste links oben in der 3D-Ansicht)")
|
||
out += _table(_rows([
|
||
["Verschieben", "Pfeile am Objekt ziehen (X rot, Y grün, Z blau); Mausrad ändert die Schrittweite"],
|
||
["Drehen", "Ringe am Objekt ziehen: um alle drei Achsen, in 15°-Schritten; R = 90° um Y (Umschalt+R = −90°)"],
|
||
["Kippen", "Strg+R / Strg+Umschalt+R = um X ±15°; Alt+R / Alt+Umschalt+R = um Z ±15° (auch beim Platzieren)"],
|
||
["Spiegeln", "an der Stelle links↔rechts oder vor↔zurück (Panel Auswahl)"],
|
||
["Strg+Z / Strg+Y", "jeder Zug ist ein Undo-Schritt"],
|
||
]))
|
||
out += _header("Terrain formen (F1)")
|
||
out += _table(_rows([
|
||
["1 / 2 / 3", "Heben / Senken / Glätten"],
|
||
["5 / 6", "Einebnen (Höhe vom Strichstart) / Rampe (Start klicken, ziehen, loslassen)"],
|
||
["[ / ]", "Pinselgröße Klein / Mittel / Groß"],
|
||
["Linksklick ziehen", "Boden formen; Strg+Klick = Gegenteil (Heben ↔ Senken)"],
|
||
["Tablet/Controller", "Stärke folgt dem Druck (Maus = voll)"],
|
||
]))
|
||
out += _header("Malen (4)")
|
||
out += _table(_rows([
|
||
["Material wählen", "Tab Malen: Kacheln mit Vorschau"],
|
||
["Linksklick ziehen", "Material auf den Boden malen; Strg+Klick malt Steppe zurück"],
|
||
["Kante", "Regler: hart ↔ weich auslaufend"],
|
||
]))
|
||
out += _header("Bauen (F3)")
|
||
out += _table(_rows([
|
||
["Teil im Tab Bauen", "wählen, dann in die Karte klicken — Wände rasten an die Zellkante, Böden/Dächer in die Zellmitte"],
|
||
["Klick auf Wandoberkante", "stapelt das nächste Geschoss; Klick auf die Seite ersetzt das Teil (Wand → Tür)"],
|
||
["R / Esc", "Teil umdrehen bzw. drehen / Bauen beenden"],
|
||
["Gebäude", "jedes Haus ist eine Gruppe: „Ganzes Gebäude auswählen“, kopieren, löschen im Tab Bauen"],
|
||
]))
|
||
out += _header("Spawn-Zonen (F4) und Test-Start (T)")
|
||
out += _table(_rows([
|
||
["F4: Linksklick", "Zone setzen; Ziehen verschiebt, Entf löscht; Team und Radius im Tab Prüfen"],
|
||
["T: Linksklick", "Test-Startpunkt setzen (nur für F5, kein Spawn)"],
|
||
["F5", "▶ Karte testen"],
|
||
]))
|
||
out += _header("Datei & Rückgängig")
|
||
out += _table(_rows([
|
||
["Strg+Z", "Rückgängig"],
|
||
["Strg+Y / Strg+Umschalt+Z", "Wiederherstellen"],
|
||
["Strg+S / Strg+Umschalt+S", "Speichern / Speichern unter"],
|
||
["Strg+O / Strg+N", "Öffnen / Neue Map"],
|
||
["Datei → Hand-Haltung der Waffen", "öffnet das Tool für Hände und Finger pro Waffe (eigenes Fenster)"],
|
||
["Datei → Updates prüfen", "prüft auf eine neue Version; Banner „Jetzt updaten“ lädt und startet neu"],
|
||
]))
|
||
return out
|
||
|
||
|
||
static func _header(title: String) -> String:
|
||
return "\n[color=#8cc9f2][b]%s[/b][/color]\n\n" % title
|
||
|
||
|
||
static func _table(rows: String) -> String:
|
||
return "[table=2]%s[/table]\n" % rows
|
||
|
||
|
||
static func _rows(pairs: Array) -> String:
|
||
var out := ""
|
||
for pair in pairs:
|
||
out += "[cell][b]%s[/b][/cell][cell]%s[/cell]" % [str(pair[0]), str(pair[1])]
|
||
return out
|