Table of Contents

ICoherenceInput

interface in Coherence.Toolkit
Properties
Buffer

Returns an underlying input buffer.

BufferSize

Size of the buffer. Dictates how many frames worth of inputs can be stored. When buffer reaches its capacity a pause is requested through the ShouldPause(long, long).

CurrentSimulationFrame

Current simulation frame as seen by this client. If the UseFixedSimulationFrames is true this returns ClientFixedSimulationFrame, otherwise ClientSimulationFrame is returned.

Delay

Delay applied to the stored inputs.

IsProducer

If true, this client is responsible for producing inputs using Set methods.

IsReadyToProcessInputs

Determines whether this input is ready for processing input data. Until this is true, all the inputs set through the Set methods are overwriting each other. Only the last value set will be sent as soon as this property becomes true.

IsServerSimulated

If true the input system assumes that there's a simulator or host running that processes all inputs sent by the clients while clients merely produce inputs and sync their entities with the host. Authority over this entity will be automatically transferred to the host.

LastAcknowledgedFrame

Last frame received that didn't trigger a misprediction, or -1 if nothing was acknowledged yet. Might be greater than LastConsumedFrame.

LastFrame

Last (latest) frame number for which an input was stored, received or predicted. -1 if nothing was added to the buffer yet.

LastReceivedFrame

Last frame number that was received from the remote input producer, or -1 if nothing was received yet.

LastSentFrame

Last frame number that was dequeued for sending, or -1 if nothing was sent yet.

MispredictionFrame

Frame at which last prediction failure has been detected.

ProcessingEnabled

Determines whether the input processing will happen. If false, inputs won't be stored in the buffer and won't be sent. Affects only the input-producing side. Defaults to true.

Methods
ShouldPause

If true, the buffer cannot do any more predictions. Client should pause the game and stop polling inputs to not lose any data required for a rollback.