Add signal command

This commit is contained in:
2026-06-13 02:13:56 +02:00
parent 97eff4f9eb
commit 1af93c897c
+6 -4
View File
@@ -40,14 +40,16 @@ fn main() {
println!("{} Signale geladen.", game.signals.len()); println!("{} Signale geladen.", game.signals.len());
} }
_ => { _ => {
if let Some(name) = line.strip_prefix("use ") { if let Some(sig) = line.strip_prefix("signal ") {
fire(&mut game, sig.trim(), None);
} else if let Some(name) = line.strip_prefix("use ") {
// Objekt-Interaktion simulieren: Signal ist der gestrippte // Objekt-Interaktion simulieren: Signal ist der gestrippte
// Name, $self der volle — wie der LMB-Klick-Pfad in irl3d. // Name, $self der volle — wie der LMB-Klick-Pfad in irl3d.
let name = name.trim(); let name = name.trim();
let key = signals::signal_key(name).to_string(); let key = signals::signal_key(name).to_string();
fire(&mut game, &key, Some(name.to_string())); fire(&mut game, &key, Some(name.to_string()));
} else { } else {
fire(&mut game, line, None); println!("unbekannter Befehl: {line:?} — `help` für Befehle");
} }
} }
} }
@@ -55,8 +57,8 @@ fn main() {
} }
fn print_help() { fn print_help() {
println!(" <signal|action> Signal feuern oder Action direkt ausführen"); println!(" signal <s> Signal feuern oder Action direkt ausführen");
println!(" (z.B. `Cube`, `set has_key true`, `inc foo 3`)"); println!(" (z.B. `signal Cube`, `signal set has_key true`)");
println!(" use <instance> Objekt-Interaktion simulieren — `use Mushroom.005`"); println!(" use <instance> Objekt-Interaktion simulieren — `use Mushroom.005`");
println!(" feuert Signal `Mushroom` mit $self = Mushroom.005"); println!(" feuert Signal `Mushroom` mit $self = Mushroom.005");
println!(" kv KV-Store anzeigen"); println!(" kv KV-Store anzeigen");