-
Notifications
You must be signed in to change notification settings - Fork 722
ReactiveSequence _skipIf issue fix #526
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ed two tests: SkippingLogic.RepeatedSkippingReactiveSequence and SkippingLogic.RepeatedNoSkippingReactiveSequence
I will look into this, thanks |
problem found and fixed. Thanks for taking the time to report this! |
One more thing I just realized. The issue persists if you have for example an async node as the last child of the ReactiveSequence. I haven't been able to look into it yet but I think it happens when the child returns RUNNING as I am doing in my Continue node. <BehaviorTree ID="PowerManagerT">
<ReactiveSequence>
<Script code=" LOW_BATT:=20.0; isLowBattery:=false "/>
<CheckLevel deviceType="BATT"
percentage="{LOW_BATT}"
result="{isLowBattery}"/>
<SendWarning deviceType="BATT" deviceStatus="{isLowBattery}" _skipIf="!isLowBattery"/>
<Continue />
</ReactiveSequence>
</BehaviorTree> PS: Also run within a while loop |
Trying to understand this...
In this logic, EVERY time that You can not count the number of Also, keep in mind that ReactiveSequence should have only one async child |
Yes, Continue is the only Async node in this tree.
My point exactly: But what happens is, SendWarning (even though skipped because the boolean is false) still runs. |
Amazing 🥇 )!! Thanks for your quick response and reaction with regards to this issue. |
Hi Davide,
I fixed the _skipIf issue described in this issue and created two tests: SkippingLogic.RepeatedSkippingReactiveSequence and SkippingLogic.RepeatedNoSkippingReactiveSequence to verify.
PS: The issue is only observable when ticking the tree continuously. E.g Calling tickOnce() inside a while loop. I hope this helps.