_InterpolationServer

Inherits: Node

Manages interpolation between network ticks

Description

Handles interpolation for multiple TickInterpolator nodes, storing snapshots and applying interpolation based on the network tick factor.

This server can interpolate properties of any arbitrary type. See Interpolators for specifics on how interpolation is implemented.

Methods

Return Type Name
void register(Node subject, NodePath property, Interpolators.Interpolator interpolator)
void deregister(Node subject)
bool has_subject(Node subject)
void set_enabled(Node subject, bool enabled)
bool is_enabled(Node subject)
void set_recording(Node subject, bool enabled)
bool is_recording(Node subject)
bool can_interpolate(Node subject)
void push_state(Node subject)
void teleport(Node subject)
bool is_teleporting(Node subject)
void interpolate_subject(Node subject, float factor)
void interpolate(float factor)

Method Descriptions

void register ( Node subject, NodePath property, Interpolators.Interpolator interpolator )

Register a property for interpolation on a subject node.

If the subject didn't have any properties configured yet, it will be enabled for interpolation and recording. Call set_enabled() and set_recording() to configure the subject after registration. If the property is already registered for this subject, nothing happens.


void deregister ( Node subject )

Deregister all properties for a subject.


bool has_subject ( Node subject )

Return true if the subject is registered.


void set_enabled ( Node subject, bool enabled )

Enable or disable interpolation for a subject.

See is_enabled().


bool is_enabled ( Node subject )

Return true if the subject is enabled for interpolation.

If the subject is enabled, it will be interpolated between ticks.

See set_enabled().


void set_recording ( Node subject, bool enabled )

Enable or disable automatic state recording for a subject.

See is_recording().


bool is_recording ( Node subject )

Return true if the subject is enabled for recording.

This means that the subject's interpolation states will be updated automatically. Use push_state() to update manually.

See set_recording().


bool can_interpolate ( Node subject )

Return true if interpolation can be done for a subject.

May return false for multiple reasons - subject is unknown, not enabled for interpolation, or is currently teleporting.


void push_state ( Node subject )

Record current state for interpolation.

Called automatically, unless disabled with set_recording().


void teleport ( Node subject )

Skip interpolation for this tick.


bool is_teleporting ( Node subject )

Return true if the subject is currently teleporting.

See teleport().


void interpolate_subject ( Node subject, float factor )

Interpolate properties for a subject.

Called automatically by default.


void interpolate ( float factor )

Interpolate all registered subjects.

Called automatically by default.