Necronomison
New member
Hi there,
I'm seeing a really weird behavior where OnStart (followed by OnEnd) seems to be called again on a task currently running right after a conditional abort higher up aborts the entire branch. Please see the image for reference. This image is taken on the frame that BehaviorDesigner pauses the editor due to the break point set on the JackalShuffle task in the BehaviorDesigner editor window.
Order of observations:
1. "Jackal Shuffle" task is running, (OnUpdate returning TaskStatus.Running every frame)
2. The conditional task "IsBasicCoolingDown" re-evaluates to false, and due to the conditional abort settings, breaks the flow of the entire branch underneath the "Parallel" task. The following set of breakpoints then get hit in this order:
- OnEnd() of the "JackalShuffle" task
- OnStart() of the "JackalShuffle" task (This is the OnStart() method call that I don't understand why its getting hit again)
- OnEnd() of the "JackalShuffle" task again.
- OnStart() of the "BasicProjectileAttack" task
As you can see from that list of breakpoints, I don't understand why the 2nd and third break points are happening. I expect that after the conditional abort, I should see OnEnd() of the "JackalShuffle" task immediately followed by the OnStart() of the "BasicProjectileAttack" task.
Any ideas?
I'm seeing a really weird behavior where OnStart (followed by OnEnd) seems to be called again on a task currently running right after a conditional abort higher up aborts the entire branch. Please see the image for reference. This image is taken on the frame that BehaviorDesigner pauses the editor due to the break point set on the JackalShuffle task in the BehaviorDesigner editor window.
Order of observations:
1. "Jackal Shuffle" task is running, (OnUpdate returning TaskStatus.Running every frame)
2. The conditional task "IsBasicCoolingDown" re-evaluates to false, and due to the conditional abort settings, breaks the flow of the entire branch underneath the "Parallel" task. The following set of breakpoints then get hit in this order:
- OnEnd() of the "JackalShuffle" task
- OnStart() of the "JackalShuffle" task (This is the OnStart() method call that I don't understand why its getting hit again)
- OnEnd() of the "JackalShuffle" task again.
- OnStart() of the "BasicProjectileAttack" task
As you can see from that list of breakpoints, I don't understand why the 2nd and third break points are happening. I expect that after the conditional abort, I should see OnEnd() of the "JackalShuffle" task immediately followed by the OnStart() of the "BasicProjectileAttack" task.
Any ideas?