On Interrupt not assign to Idle task

xpoveda

New member
I'm creating the following BT in Behavior Designer Pro.
This works correctly by updating a boolean variable, isTest1Property, in my BTSController to activate one branch or another.
The problem arises when I try to create an On Interrupt event.

1778378860605.png

1778378996960.png

1778378973095.png
I try this...
On the On Interrupt task the Idle task is specified. When the interrupt occurs the Log task will run because the Idle task was interrupted by the conditional abort system.


But when I do a "Select" of the On Interrupt to assign the Idle, it says that I cannot assign it.


1778379488568.png




1778379326545.png

And if I repeatedly click 'select' and 'deselect', it gives duplicate key errors and completely crashes the diagram, and I can't recover it, losing everything.

How do I assign the 'On Interrupt' event to the Idle task?

Regards,

Xavier
 
Are you running the latest version? This looks related to this and has since been fixed.

 
Hi Justin, I have updated the plugin to the latest version and now the selection of the interruption source of the OnInterrupt it works.

But the funcion of OnInterrupt don't works. I have two OnInterrupt objects. Each one have your own Interruption Source (Idle).
When the branch of isTest1 fails the Idle fails and the Log of OnInterrupt1 appears, but the Log on OnInterrupt2 too.
I don't understant why....

1778616876647.png

1778616895763.png

When I change the branch.
interrupt1 or interrupt2 is the log in StackedAction linked to OnInterrupt object of branch1 or branch2

1778616970786.png

1778616985669.png


1778616997910.png
 
Hi Justin, Solved. This is the best approach. It allows me to handle prioritized branch decisions with a rollback/cleanup phase when exiting a branch.

You can close this issue.

Thanks so much for your help.

Xavier.

1778621606245.png

using UnityEngine;
using Opsive.BehaviorDesigner.Runtime.Tasks;
using Opsive.BehaviorDesigner.Runtime.Tasks.Actions;

public class IdleTest1Action : Action
{
public override void OnStart()
{
Logger.Log("");
}
public override TaskStatus OnUpdate()
{
return TaskStatus.Running;
}
public override void OnEnd()
{
Logger.Log("");
}
}

1778621680647.png
 
Back
Top