bool bSkipAdding = false;
// 1 replace with below
// for (int32 UpdateIndex = PendingUpdates.Num() - 1; UpdateIndex >= 0; UpdateIndex–)
for (int32 UpdateIndex = 0; UpdateIndex < PendingUpdates.Num(); UpdateIndex++)
{
const FBehaviorTreeSearchUpdate& Info = PendingUpdates[UpdateIndex];
if (Info.AuxNode == UpdateInfo.AuxNode && Info.TaskNode == UpdateInfo.TaskNode)
{
// duplicate, skip
if (Info.Mode == UpdateInfo.Mode)
{
bSkipAdding = true;
break;
}
// don't add pairs add-remove
bSkipAdding = (Info.Mode == EBTNodeUpdateMode::Remove) || (UpdateInfo.Mode == EBTNodeUpdateMode::Remove);
PendingUpdates.RemoveAt(UpdateIndex, 1, false);
**// or 2 add break?
// break;**
}
}