Ich bräuchte wahrscheinlich ein Feld in Node (default: 0) um die Execution Order zu ändern (absteigend, sprich wenn der Wert höher ist dann wird es hinten angereiht). Sinnvoll auf jeden Fall bei "On start" und "On update". Wenn es noch andere Nodes gibt wo es sinn macht, dann bitte vorschlagen.
Wie wird momentan die Execution Order festgelegt?
Ich bräuchte wahrscheinlich ein Feld in Node (default: 0) um die Execution Order zu ändern (absteigend, sprich wenn der Wert höher ist dann wird es hinten angereiht). Sinnvoll auf jeden Fall bei "On start" und "On update". Wenn es noch andere Nodes gibt wo es sinn macht, dann bitte vorschlagen.
admin
added this to the Development project 2026-09-29 06:25:14 +02:00
admin
moved this to Next in Development on 2026-09-29 06:25:56 +02:00
Umgesetzt in 5fbc6eb, Wiki in a045c4a (Behaviors → Event order).
Entscheidungen wie besprochen: 1b, alle 17 Event-Nodes, Gleichstand nach Hierarchie und dann Anlege-Reihenfolge, ganze Zahlen mit Standard 0.
So läuft ein Frame jetzt
Event-Art für Event-Art über alle Behaviors: On disable/On enable, Key down, Key up, Key held, Timer, Collision enter/stay/exit, Animation finished, Click, Mouse wheel, zuletzt On update.
Innerhalb einer Art zählt Order: niedriger läuft früher, egal in welchem Behavior. Bei Gleichstand entscheidet die aktuelle Hierarchie (oben zuerst), dann die Anlege-Reihenfolge im Graph.
Order: 5 steht nur am Node, wenn der Wert nicht 0 ist. Bestehende Graphen sehen gleich aus.
Die Regel „später eingeschaltet → ans Ende“ gibt es nicht mehr.
Was sich in bestehenden Projekten ändert
Ein Objekt, das im Frame zerstört wurde, bekommt danach kein Event mehr in diesem Frame. On disable/On destroy kommen wie bisher am Frame-Ende.
Neue Instanzen: erst alle On start, dann alle On enable. Abbau: erst alle On disable, dann alle On destroy.
State-Events folgen direkt nach der Event-Art, die sie ausgelöst hat.
Tests
./check.sh: 191 Files, 2784 Tests, CHECK EXIT 0
Voller e2e-Lauf lokal: ALL PASSED, 1551 Checks (gemessen)
11 Unit-Tests in tests/core/event-order.test.ts, 2 e2e-Checks in 6z-viii (echte Maus/Tastatur)
Umgesetzt in 5fbc6eb, Wiki in a045c4a (*Behaviors* → *Event order*).
Entscheidungen wie besprochen: 1b, alle 17 Event-Nodes, Gleichstand nach Hierarchie und dann Anlege-Reihenfolge, ganze Zahlen mit Standard 0.
**So läuft ein Frame jetzt**
- Event-Art für Event-Art über alle Behaviors: `On disable`/`On enable`, Key down, Key up, Key held, Timer, Collision enter/stay/exit, Animation finished, Click, Mouse wheel, zuletzt `On update`.
- Innerhalb einer Art zählt **Order**: niedriger läuft früher, egal in welchem Behavior. Bei Gleichstand entscheidet die aktuelle Hierarchie (oben zuerst), dann die Anlege-Reihenfolge im Graph.
- `Order: 5` steht nur am Node, wenn der Wert nicht 0 ist. Bestehende Graphen sehen gleich aus.
- Die Regel „später eingeschaltet → ans Ende“ gibt es nicht mehr.
**Was sich in bestehenden Projekten ändert**
- Ein Objekt, das im Frame zerstört wurde, bekommt danach kein Event mehr in diesem Frame. `On disable`/`On destroy` kommen wie bisher am Frame-Ende.
- Neue Instanzen: erst alle `On start`, dann alle `On enable`. Abbau: erst alle `On disable`, dann alle `On destroy`.
- State-Events folgen direkt nach der Event-Art, die sie ausgelöst hat.
**Tests**
- `./check.sh`: 191 Files, 2784 Tests, CHECK EXIT 0
- Voller e2e-Lauf lokal: ALL PASSED, 1551 Checks (gemessen)
- 11 Unit-Tests in `tests/core/event-order.test.ts`, 2 e2e-Checks in 6z-viii (echte Maus/Tastatur)
- Gegenproben: 5 Unit, 1 Browser, alle greifen
Der CI-Lauf zu 5fbc6eb ist nicht abgewartet.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Wie wird momentan die Execution Order festgelegt?
Ich bräuchte wahrscheinlich ein Feld in Node (default: 0) um die Execution Order zu ändern (absteigend, sprich wenn der Wert höher ist dann wird es hinten angereiht). Sinnvoll auf jeden Fall bei "On start" und "On update". Wenn es noch andere Nodes gibt wo es sinn macht, dann bitte vorschlagen.
Umgesetzt in
5fbc6eb, Wiki in a045c4a (Behaviors → Event order).Entscheidungen wie besprochen: 1b, alle 17 Event-Nodes, Gleichstand nach Hierarchie und dann Anlege-Reihenfolge, ganze Zahlen mit Standard 0.
So läuft ein Frame jetzt
On disable/On enable, Key down, Key up, Key held, Timer, Collision enter/stay/exit, Animation finished, Click, Mouse wheel, zuletztOn update.Order: 5steht nur am Node, wenn der Wert nicht 0 ist. Bestehende Graphen sehen gleich aus.Was sich in bestehenden Projekten ändert
On disable/On destroykommen wie bisher am Frame-Ende.On start, dann alleOn enable. Abbau: erst alleOn disable, dann alleOn destroy.Tests
./check.sh: 191 Files, 2784 Tests, CHECK EXIT 0tests/core/event-order.test.ts, 2 e2e-Checks in 6z-viii (echte Maus/Tastatur)Der CI-Lauf zu
5fbc6ebist nicht abgewartet.