KS.Reactor.Client
Namespaces
Classes
Contains parameters for tuning transform and property smoothing. If a smoothed property does not have a correction rate set, PositionCorrectionRate will be used if it is linearly interpolated, and RotationCorrectionRate will be used if it is spherically interpolated. If the property uses wrap float interpolation and has no rate set, it will use the difference between the min and the max range values.
ksConvergingInputPredictor.ConfigData
Configuration parameters for the converging input predictor.
ksTCPConnection.ConfigSettings
Configuration options for TCP connections
Track connect operations
Track read/write operations
Base class for entities. Entities are objects controlled by the server and replicated to clients.
Base class for players. A player represents a client.
Templated base class for rooms. Rooms are used to connect to server rooms. The room maintains simulation state that is regularly synced with the server.
Base class for rooms. Rooms are used to connect to server rooms. The room maintains simulation state that is regularly synced with the server.
Predicts movement and properties using only the player controller; server data is ignored.
Holds time data that is available on the client. In addition to the client time object for the room, each player that owns entities with the transform permission has a client time object that can be accessed using GetTime and holds timing data that can be used to smooth motion for entities they control. For player time, Frame is the last received server frame number that contained owned-entity updates from that player, TimeScale is always one, ServerUnscaledSyncDelta is the amount of time between passed on the remote client between their last two owned-entity updates, and AdjustedUnscaledDelta is a different value calculated by the Adjuster for that player time.
Base class for network connections.
Predicts movement and properties based on user input using a player controller. Accelerations are slower than the server so the client and server will converge. Controller updates are used to predict a future server position, and the client render position interpolates towards the predicted server position. New server frames will make corrections to the future predicted server position, and may trigger a rewind and replay of controller inputs to get a new predicted server position.
Collection of delegates.
Smooths/predicts movement using linear interpolation and extrapolation.
Network counters
Network statistics
Client-side predictor utility.
Wraps a ksIReadOnlyTransform and provides a 2D view of the data.
Main entry point to connect to the service.
Network stream connection using sockets and the TCP protocol.
Smoothly adjusts client time deltas to keep in sync with the server. Controls time values that determine how far predictors should interpolate/extrapolate the server frame data.
Simple time adjuster that slows down and eventually stops incrementing time after long periods with no updates from the server.
Structs
ksConvergingInputPredictor.PropertyBehaviour
Describes how to predict a property.
ksLinearPredictor.PropertyBehaviour
Describes how to predict a property.
Size and download progress for a frame.
Contains rules for how a property behaves during prediction
Version number consisting of major, minor, revision, and build.
Interfaces
Input manager interface. Rooms query the input manager for input state on input frames. Button state is queried every frame so button state changes aren't missed. Inputs registered with the ksInputRegistrar by ksPlayerControllers determine which inputs are queried and sent to the server.
Predictor interface for smoothing/predicting entity movement and properties.
Room interface used internally for testing with mock implementations. It is incomplete and only contains functions that are needed for testing.
Interface for synchronizing time with the server. The room has time adjuster, and each player that owns entities with the transform permission also has a time adjuster, accessible via Adjuster Time for the room and GetTime for the players.
Every client frame, UnscaledDelta is passed to OnClientUpdate to calculate AdjustedUnscaledDelta. OnServerUpdate is called when we process a server frame.
The same process happens for the player time adjusters for players who own entities with the transform permission, except OnServerUpdate is called when we receive owned-entity updates from that player, and OnPlayerUpdatesStopped is called when all entities owned by that player stop updating and we don't expect to receive more updates until they start updating again.
Enums
Connect/disconnect status.
Counter types.
RX = Receive TX = Transmit
Counter types.
RX = Receive TX = Transmit
Which revision numbers to check for version comparisons.
Prediction rules to use on the client.
Reasons for entity destruction
Delegates
ksBaseEntity.ConfirmPlayerSpawnHandler
Confirm player spawn handler
Handler called when connection attempts complete.
Connect status event handler.
ksBaseEntity.ControllerChangeHandler
Controller change handler.
ksBaseRoom<Player, Entity>.DestroyEntityHandler
Destroy entity event handler.
Destroy event handler.
Disconnect status event handler.
ksConnection.DisconnectHandler
Handler called when connection disconnects.
Method to generate connections.
Handler called when a read/write operation completes.
Input update handler.
Leave event handler.
ksConvergingInputPredictor.MoveChecker
Delegate for checking for collisions and repositioning the entity when moving between two points.
ksBaseEntity.OwnershipChangeHandler
Ownership change handler.
ksBaseRoom<Player, Entity>.PlayerJoinHandler
Player join event handler.
ksBaseRoom<Player, Entity>.PlayerLeaveHandler
Player leave event handler.
ksDelegates.PropertyChangeHandler
Property change event handler.
RPC event handler.
RPC event handler.
ksConvergingInputPredictor.ResetPropertyCallback
Property reset callback, called when a property is reset to the server state before replaying inputs through the player controller.
Callback for GetServers.
Send client frame handler.
ksBaseRoom<Player, Entity>.SpawnEntityHandler
Spawn entity event handler.
Handler called when the room connection state changes.
ksDelegates.TimeAdjusterFactory
Factor for creating time adjusters.
Last updated

