Loading...
Searching...
No Matches
SCR_ReconnectComponent Interface Reference

Takes care of managing player reconnects in case of involuntary disconnect Authority-only component attached to gamemode prefab. More...

Inheritance diagram for SCR_ReconnectComponent:
SCR_BaseGameModeComponent

Public Member Functions

int GetReconnectTimeout ()
 For how many seconds a player can reconnect before the controlled character is removed.
 
void UpdateExpieryCheck ()
 
bool HandlePlayerDisconnect (int playerId, KickCauseCode cause)
 Returns true if the players entity has been taken over for reconnection.
 
bool HandlePlayerReconnect (int playerId)
 Return the character back to the player controller and assign any other data.
 
- Public Member Functions inherited from SCR_BaseGameModeComponent
SCR_BaseGameMode GetGameMode ()
 
void OnGameEnd ()
 Called on all machines when the world ends.
 
void OnGameStateChanged (SCR_EGameModeState state)
 Called when game mode state changes called on all machines.
 
void OnGameModeStart ()
 Called on every machine when game mode starts.
 
void OnGameModeEnd (SCR_GameModeEndData data)
 Called when game mode ends.
 
void OnPlayerConnected (int playerId)
 Called after a player is connected.
 
void OnPlayerAuditSuccess (int playerId)
 Event is called when player connecting Session hosting current Game Mode where is required authentication verification via.
 
void OnPlayerAuditFail (int playerId)
 Event is called when player connecting Session hosting current Game Mode AuditFail() call may be called under two occasions: 1) verification is required but failed (account is not valid, player is banned, internet issues) 2) player cannot be verified as authentication is not required or possible - where it may be valid behavior (server online connectivity turned off for example) Basically non-audited player cannot access persistency/ etc.
 
void OnPlayerAuditTimeouted (int playerId)
 Event is called when player connected to Session was kicked and did not reconnected in time This mean that slot reservation can be canceled.
 
void OnPlayerAuditRevived (int playerId)
 Event is called when player reconnected successfully back to Session after kick This mean that slot reservation need to be finished (closed).
 
void OnPlayerRegistered (int playerId)
 Called on every machine after a player is registered (identity, name etc.).
 
void OnPlayerDisconnected (int playerId, KickCauseCode cause, int timeout)
 Called after a player is disconnected.
 
bool PreparePlayerEntity_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, SCR_SpawnData data, IEntity entity)
 
void OnSpawnPlayerEntityFailure_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, IEntity entity, SCR_SpawnData data, SCR_ESpawnResult reason)
 
void OnPlayerSpawnFinalize_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, SCR_SpawnData data, IEntity entity)
 
bool HandlePlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator instigator)
 See SCR_BaseGameMode.HandlePlayerKilled.
 
void OnPlayerKilled (notnull SCR_InstigatorContextData instigatorContextData)
 Called after a player gets killed.
 
void OnPlayerKilledHandled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator instigator)
 Called after player gets killed in cases where the kill was handled by the game mode, supressing the default OnPlayerKilled behaviour.
 
void OnPlayerDeleted (int playerId, IEntity player)
 Called after a player gets deleted.
 
void OnPlayerRoleChange (int playerId, EPlayerRole roleFlags)
 Called when player role changes.
 
void OnWorldPostProcess (World world)
 Called once loading of all entities of the world have been finished (still within the loading)
 
void OnControllableSpawned (IEntity entity)
 When a controllable entity is spawned, this event is raised.
 
void OnControllableDestroyed (notnull SCR_InstigatorContextData instigatorContextData)
 When a controllable entity is destroyed, this event is raised.
 
void OnControllableDeleted (IEntity entity)
 Prior to a controllable entity being DELETED, this event is raised.
 
void SCR_BaseGameModeComponent (IEntityComponentSource src, IEntity ent, IEntity parent)
 

Static Public Member Functions

static SCR_ReconnectComponent GetInstance ()
 

Public Attributes

ref map< UUID, ref SCR_ReconnectDatam_mReconnectData = new map<UUID, ref SCR_ReconnectData>()
 

Static Public Attributes

static SCR_ReconnectComponent s_Instance
 

Protected Member Functions

override void OnPostInit (IEntity owner)
 
override void EOnInit (IEntity owner)
 
void CheckExpiery ()
 Remove any data that has exceeded the max reconnect time window.
 
notnull SCR_ReconnectData StoreData (int playerId)
 Collect information relevant to reapply after reconnection to player controller / character.
 
bool IsDataRelevant (notnull SCR_ReconnectData data)
 Returns true if the data is relevant for reconnect and we should store it in the system.
 
bool IsDataExpired (notnull SCR_ReconnectData data, WorldTimestamp timestamp)
 Check if the reconnect time window has been exceeded.
 
void HandleDataExpiery (notnull SCR_ReconnectData data)
 Data has expired, handle graceful removal of presence in the world.
 
void ApplyData (int playerId, notnull SCR_ReconnectData data)
 Apply still relevant data back on successful reconnect.
 

Protected Attributes

int m_iReconnectTime = 120
 
- Protected Attributes inherited from SCR_BaseGameModeComponent
SCR_BaseGameMode m_pGameMode
 The game mode entity this component is attached to.
 

Detailed Description

Takes care of managing player reconnects in case of involuntary disconnect Authority-only component attached to gamemode prefab.

Member Function Documentation

◆ ApplyData()

void SCR_ReconnectComponent.ApplyData ( int playerId,
notnull SCR_ReconnectData data )
protected

Apply still relevant data back on successful reconnect.

◆ CheckExpiery()

void SCR_ReconnectComponent.CheckExpiery ( )
protected

Remove any data that has exceeded the max reconnect time window.

◆ EOnInit()

override void SCR_ReconnectComponent.EOnInit ( IEntity owner)
protected

◆ GetInstance()

static SCR_ReconnectComponent SCR_ReconnectComponent.GetInstance ( )
static

◆ GetReconnectTimeout()

int SCR_ReconnectComponent.GetReconnectTimeout ( )

For how many seconds a player can reconnect before the controlled character is removed.

◆ HandleDataExpiery()

void SCR_ReconnectComponent.HandleDataExpiery ( notnull SCR_ReconnectData data)
protected

Data has expired, handle graceful removal of presence in the world.

◆ HandlePlayerDisconnect()

bool SCR_ReconnectComponent.HandlePlayerDisconnect ( int playerId,
KickCauseCode cause )

Returns true if the players entity has been taken over for reconnection.

◆ HandlePlayerReconnect()

bool SCR_ReconnectComponent.HandlePlayerReconnect ( int playerId)

Return the character back to the player controller and assign any other data.

Returns
True if reconnection was possible, false if respawn from scratch is needed.

◆ IsDataExpired()

bool SCR_ReconnectComponent.IsDataExpired ( notnull SCR_ReconnectData data,
WorldTimestamp timestamp )
protected

Check if the reconnect time window has been exceeded.

◆ IsDataRelevant()

bool SCR_ReconnectComponent.IsDataRelevant ( notnull SCR_ReconnectData data)
protected

Returns true if the data is relevant for reconnect and we should store it in the system.

◆ OnPostInit()

override void SCR_ReconnectComponent.OnPostInit ( IEntity owner)
protected

◆ StoreData()

notnull SCR_ReconnectData SCR_ReconnectComponent.StoreData ( int playerId)
protected

Collect information relevant to reapply after reconnection to player controller / character.

◆ UpdateExpieryCheck()

void SCR_ReconnectComponent.UpdateExpieryCheck ( )

Member Data Documentation

◆ m_iReconnectTime

int SCR_ReconnectComponent.m_iReconnectTime = 120
protected

◆ m_mReconnectData

ref map<UUID, ref SCR_ReconnectData> SCR_ReconnectComponent.m_mReconnectData = new map<UUID, ref SCR_ReconnectData>()

◆ s_Instance

SCR_ReconnectComponent SCR_ReconnectComponent.s_Instance
static

The documentation for this interface was generated from the following file: