58 lines
1.4 KiB
TOML
58 lines
1.4 KiB
TOML
# Signal → Action Mapping. Trigger feuern Signals (Strings); hier wird
|
|
# definiert, was bei jedem Signal passiert. Signal-Name = Trigger-Quelle:
|
|
# für Objekt-Interaktion ist es der Instance-Name ohne Blender-Suffix.
|
|
#
|
|
# Actions sind Strings im Format "verb args". Verben:
|
|
# start_ink <script> Story laden (Frontend treibt sie)
|
|
# debug_log <text> eprintln!
|
|
# set <name> <value> KV setzen (true/false/i32/f32/string)
|
|
# inc <name> [<delta>] KV-Integer +Delta (Default +1)
|
|
# clear <name> KV-Eintrag entfernen
|
|
# hide_object <name> deferred (Frontend): Instance ausblenden
|
|
# play_sound <file> deferred (Frontend): SFX abspielen
|
|
#
|
|
# Reserviertes Signal `[init]` feuert einmal vor der Game-Loop —
|
|
# idealer Ort für KV-Defaults.
|
|
|
|
[init]
|
|
actions = [
|
|
"set cube_clicks 0",
|
|
"set mushrooms_collected 0",
|
|
"set quest_mushroom_active false",
|
|
"set quest_mushroom_done false",
|
|
]
|
|
|
|
[Mushroom]
|
|
actions = [
|
|
"inc mushrooms_collected",
|
|
"play_sound pickup.wav",
|
|
"hide_object $self",
|
|
]
|
|
|
|
[Person]
|
|
actions = [
|
|
"play_sound greet.wav",
|
|
"start_ink person.ink.json",
|
|
]
|
|
|
|
[Suzanne]
|
|
actions = [
|
|
"start_ink suzanne.ink.json",
|
|
]
|
|
|
|
[Cube]
|
|
actions = [
|
|
"inc cube_clicks",
|
|
"start_ink cube.ink.json",
|
|
]
|
|
|
|
[person_farewell]
|
|
actions = [
|
|
"debug_log Person hat sich verabschiedet",
|
|
]
|
|
|
|
[tiffany]
|
|
actions = [
|
|
"start_ink cinema.ink.json",
|
|
]
|