Input Handling
Input handling in the Client-Side Prediction (CSP) system is straightforward and flexible. The primary requirement is to implement the GetInput
method, which captures user input and returns it in a structured format (e.g., a struct). This input is then used to simulate the entity's behavior during prediction.
Key Concepts
Implementing
GetInput
:The
GetInput
method is where you define how user input is captured and structured.It returns an
INPUT
struct (e.g.,SimpleWASDInput
) that contains all relevant input data for the current frame.
Example:
In this example,
SimpleWASDInput
is a struct that captures movement and action inputs.
Handling Key Down Events:
For key-down events (e.g., pressing a key once), you need to cache the input during Unity's
Update
method and clear the cache after returning it inGetInput
.This ensures that key-down events are properly registered and not skipped during simulation.
Example:
Here,
_jumpKeyDown
is a cached variable that tracks whether the jump key was pressed during the current frame.
Why This Works
Flexibility:
The
GetInput
method allows you to define exactly how input is captured and structured, making it adaptable to different control schemes.
Key-Down Events:
By caching key-down events in
Update
and clearing them inGetInput
, you ensure that these events are only processed once, preventing unintended behavior (e.g., multiple jumps from a single key press).
Last updated