_NetworkHistoryServer

Inherits: Node

Tracks the history of objects' properties

Description

Specifically, history is stored for rollback state properties, rollback input properties, and synchronized state properties.

Keeping history lets rollback restore earlier game states for resimulation, and enables _NetworkSynchronizationServer to send diff states by comparing against historical data.

Methods

Return Type Name
void register_rollback_state(Node node, NodePath property)
void deregister_rollback_state(Node node, NodePath property)
void register_rollback_input(Node node, NodePath property)
void deregister_rollback_input(Node node, NodePath property)
void register_sync_state(Node node, NodePath property)
void deregister_sync_state(Node node, NodePath property)
void deregister(Node node)
void ignore(Node subject)
void flush_ignores()
int get_latest_state_tick_for(Array subjects, int tick)
int get_state_age_for(Array subjects, int tick)
int get_latest_input_for(Array subjects, int tick)
int get_input_age_for(Array subjects, int tick)

Method Descriptions

void register_rollback_state ( Node node, NodePath property )

Register a rollback state property


void deregister_rollback_state ( Node node, NodePath property )

Deregister a rollback state property


void register_rollback_input ( Node node, NodePath property )

Register a rollback input property


void deregister_rollback_input ( Node node, NodePath property )

Deregister a rollback input property


void register_sync_state ( Node node, NodePath property )

Register a synchronized state property


void deregister_sync_state ( Node node, NodePath property )

Deregister a synchronized state property


void deregister ( Node node )

Deregister a node, no longer tracking any property it had registered using any of the register_*() methods


void ignore ( Node subject )

Do not record subject

Can be used in _rollback_tick() in case node prediction is enabled, but state can't be reasonably predicted.

Subjects stay ignored until flush_ignores() is called. This is done by default after every rollback tick.


void flush_ignores ( )

Clear the list of ignored subjects

Calling this method undoes all previous ignore() calls.


int get_latest_state_tick_for ( Array subjects, int tick )

Return the latest tick where any of the subjects had rollback state data available


int get_state_age_for ( Array subjects, int tick )

Return how old is the latest rollback state data for any of the subjects, in ticks


int get_latest_input_for ( Array subjects, int tick )

Return the latest tick where any of the subjects had rollback input data available


int get_input_age_for ( Array subjects, int tick )

Return how old is the latest rollback input data for any of the subjects, in ticks