Vixen
caa30e12
csharp
public readonly record struct GoapCapabilities

Which of a domain's actions one agent may use.

Read the guide page for this →

Remarks

⚠ A mask on the agent rather than a domain per capability set. A domain describes what a kind of agent can do; whether this particular one has a gun, a key or a broken leg is per agent, and a domain per permutation is a graph rebuild per permutation. Sixty-four actions is the limit of a mask, and an action past it is treated as allowed rather than silently forbidden — a domain that large is one nobody is masking.

Fields and properties (2)

  • public ulong Bits

    One bit per action index.

  • public static GoapCapabilities All

    Everything the domain has.

Methods (4)

  • public GoapCapabilities(ulong Bits)

    Which of a domain's actions one agent may use.

  • public bool Allows(int action)

    Whether an action is allowed.

  • public GoapCapabilities Without(int action)

    The same mask with one action turned off.

  • public GoapCapabilities With(int action)

    The same mask with one action turned on.

Used by (6)

  • AiAgentVixen.Ai
  • AiSystemVixen.Ai
  • GoapPearTestsVixen.Ai.Tests
  • GoapPlanQueueVixen.Ai
  • GoapPlannerVixen.Ai
  • GoapSnapshotVixen.Ai