Vixen
c7401864
csharp
public sealed class CompositeDecorator

AND, OR and NOT over other decorators, so a condition is not a branch.

Read the guide page for this →

Remarks

⚠ This matters more than it looks. Without it, "attack if he is visible and I have ammo and I am not fleeing" is either three stacked decorators — whose failure semantics compose but whose abort semantics do not, because each one aborts on its own — or a branch per combination. Unreal added its equivalent late and its own documentation warns that it costs more than the C++ version; here it is an expression over key indices and the inner decorators never see a step of their own.

Fields and properties (2)

  • public override ObserverAborts Aborts

    What this may interrupt when the keys it reads change.

  • public override ReadOnlySpan<BlackboardKey> ObservedKeys

    The blackboard keys it reads.

Methods (2)

Used by (3)

  • AuthorableNodeTestsVixen.Ai.Tests
  • BehaviorTreeDecoratorTestsVixen.Ai.Tests
  • BuildStateVixen.Ai