Vixen
c7401864
csharp
public interface IPerceptionGovernor

How often one listener senses, given where it is.

Read the guide page for this →

Remarks

The second of doc 37 § D15's three bounds, and the one that scales with the population rather than with the level: a broad phase makes each pass cheap, and this decides how many passes there are.

⚠ Why this is not IAgentGovernor, which doc 37 § Part 4 lists distance LOD against. IAgentGovernor.Plan is handed a tick and a population and nothing else — deliberately, because AgentSchedule is eight bytes and a plan that enumerated its agents would allocate once a frame. Distance needs a position per listener, which is a thing that interface cannot see and should not grow. So the distance-LOD row belongs here, where the pass already has every listener's position in hand.

Methods (1)

  • float IntervalFor(PerceptionConfig config, float distance)

    Seconds until this listener's next pass.

Used by (4)

  • DistanceLodGovernorVixen.Ai.Perception
  • FixedRateGovernorVixen.Ai.Perception
  • PerceptionSystemVixen.Ai.Perception
  • SeamTestsVixen.Ai.Nodes.Tests