public static class PerceptionSnapshotsAdds what an agent can sense to a snapshot of what it is thinking.
Remarks
Doc 37 § D20's fourth row — its senses — which is the same for all three planners and is therefore not any of their business. It lives here rather than in AiSnapshots because a perceived list is Vixen.Ai.Perception's, and Vixen.Ai refuses to know that perception exists: a game running behaviour trees with no physics world links one assembly and stops.
⚠ A separate call rather than a hook. The alternative is an interface on AiSnapshots that perception registers into, which is a seam that would have exactly one implementation for ever — and doc 34 § P9's rule is that a seam with one implementation is a guess. A caller that has a PerceptionSystem makes two calls.
Fields and properties (1)
public const int MaximumTargetsHow many perceived targets one snapshot carries.
Methods (2)
public static int Add(PerceptionSystem perception, World world, Entity entity, AiAgentSnapshot into)Adds an agent's perceived list to a snapshot.
public static bool Describe(PerceptionSystem perception, World world, Entity entity, AiAgentSnapshot into)Whether an agent senses at all, and how it is configured, as one row.
Used by (2)
- AiGameplayDebuggerVixen.Ai.Diagnostics
- VillageSampleTestsVixen.Ai.Nodes.Tests