Repository navigation
Conversation
Add a new precondition type _onStart that allows executing scripts before a node starts its tick. This provides symmetry with the existing _post functionality.
|
Hi, @facontidavide |
|
@Aglargil I do want to include this, but I can not until I add this precondition to Groot2. Be patient :) |
Okay, looking forward to your updates! |
|
Thanks @Aglargil, and sorry for the long wait! Superseded by #1261, which adds |
* Add _onlyIf and _onStart preconditions (#820, #895) - `_onlyIf="<script>"`: if false when the node is IDLE, return SKIPPED (the opposite of `_skipIf`, more readable in most cases). - `_onStart="<script>"`: execute a script right before the first tick() of the node, i.e. only if no other precondition returned a status. Useful to initialize or reset blackboard entries. Both are evaluated only when the node is IDLE/SKIPPED, like `_skipIf`. ONLY_IF and ON_START are appended at the end of PreCond, so the values of the existing ones don't change. Appending ONLY_IF after WHILE_TRUE keeps the semantics: SKIP_IF, WHILE_TRUE and ONLY_IF all return SKIPPED. Behavior change: the attribute names `_onlyIf` and `_onStart` are now reserved. Before, they were stored silently as non-port attributes and did nothing. Supersedes #821 and #932. Co-Authored-By: Darko Lukic <2135826+lukicdarkoo@users.noreply.github.com> Co-Authored-By: Aglargil <34728006+Aglargil@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Preconditions: static_assert on name arrays, fix _onStart comment, document _onStart/_onlyIf caveats Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test: cover _onlyIf/_onStart edge cases (while-interrupt, SubTree, ReactiveSequence, WriteTreeToXML) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Darko Lukic <2135826+lukicdarkoo@users.noreply.github.com> Co-authored-by: Aglargil <34728006+Aglargil@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
#895