public sealed class AiBreakpointsThe nodes a running tree stops at, shared by every agent, off unless somebody sets one.
Remarks
Unreal has these and they are the difference between reading a tree and debugging one — doc 37 § Part 5 says so in as many words. A tree that gets to the wrong branch once every few minutes cannot be caught by watching; stopping the agent at the node leaves the blackboard, the active path and every decorator's last answer exactly as they were when the decision was made.
⚠ A breakpoint stops the agent, not the game. There is no world to freeze from here and freezing one would be the wrong tool: the rest of the level carries on, other agents carry on, and the one being debugged holds its position with its state intact. Resume lets it go.
⚠ The scope rule is the abort rule. A breakpoint on a composite stops when anything inside it becomes the active node, which is the same containment test ObserverAborts uses and the same one the editor's abort-scope overlay shades. One rule an author can see is worth more than two they have to remember apart.
Fields and properties (5)
public bool EnabledWhether any of them are consulted at all. Off is a single branch per node entry.
public int CountHow many are set.
public IReadOnlyCollection<AiBreakpoint> AllEvery breakpoint set.
public AiBreakpointHit LastHitThe last one that fired.
public int HitsHow many times anything has stopped.
Methods (7)
public bool Add(Symbol tree, int node)Sets one.
public bool Remove(Symbol tree, int node)Clears one.
public bool Toggle(Symbol tree, int node)Sets one if it is not set and clears it if it is.
public bool Contains(Symbol tree, int node)Whether a node has one on it.
public void Clear()Clears the lot.
public bool Halts(BehaviorTreeTemplate template, int node, Entity entity, long tick)Whether entering a node stops the tree, and records the stop when it does.
public static void Resume(BehaviorTreeInstance instance)Lets a stopped agent go.
Used by (6)
- AiBreakpointTestsVixen.Ai.Tests
- AiSystemVixen.Ai
- BehaviorTreeInstanceVixen.Ai
- AgentDebugModelVixen.Editor.Ai
- AgentDebugModelTestsVixen.Editor.AssetEditors.Tests
- BehaviorTreeViewVixen.Editor.AssetEditors