public static class WorldNodesThe nodes this assembly adds to the library, and how a file builds them.
Remarks
The same arrangement Vixen.Ai.Perception uses, and for the same reason: BehaviorNodeSchema lives in Vixen.Ai so that a game loading a tree and an editor authoring one read one table, and Vixen.Ai cannot construct a type it does not reference.
⚠ Two of the seven need something a schema cannot name. DoesPathExist needs a NavMeshQuery and PlaySound needs an AudioClip, and neither is a string in a file — one is a live object over a baked mesh and the other is an asset a content build produced. So the resolver overload takes the query, and sounds are registered by name the way sensors already are. A tree authored before either exists still compiles: the decorator is reported and the branch reads as the dead end it is.
Methods (3)
public static IEnumerable<BehaviorNodeType> Describe()The declarations, for a caller adding them to a schema of its own.
public static BehaviorNodeSchema Register(BehaviorNodeSchema? schema = null)Adds them to a schema.
public static BehaviorTreeResolver Register(BehaviorTreeResolver resolver, NavMeshQuery? query = null, IReadOnlyDictionary<string, AudioClip>? sounds = null)Teaches a resolver to build them.
Used by (3)
- NodeLayeringTestsVixen.Ai.Nodes.Tests
- PatrolChaseGiveUpTestsVixen.Ai.Nodes.Tests
- WorldNodeRegistrationTestsVixen.Ai.Nodes.Tests