Vixen
02b45cc4
csharp
public interface IPlayerInputSource

Where one player's intent comes from.

Read the guide page for this →

Remarks

An interface rather than a component, because what it wraps is a managed object. An InputActions asset is one object per player, read by whatever wants it, and it has no business in a chunk. So PlayerInputSystem holds these in a side table beside the world — the same shape InputUpdateSystem(InputService) already uses, and for the same reason.

It is also the seam an AI takes. Nothing about this interface says "a device": a planner, a replay, a network stream and a test all implement it, and everything downstream of the controller is unable to tell which is driving. That is Unreal's AController polymorphism, expressed as one method instead of a class hierarchy.

Methods (1)

  • void Sample(ref ControlRotation rotation, ref MoveIntent intent, float deltaTime)

    Writes what the player is asking for this frame.

Used by (4)

  • ActionPlayerInputVixen.Engine
  • ConstantVixen.Engine.Tests
  • PlayerInputSystemVixen.Engine
  • ScriptedVixen.Engine.Tests