Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_SpawnHandlerComponent.c File Reference

Go to the source code of this file.

Classes

class  SCR_SpawnHandlerComponentClass

Functions

SCR_RespawnSystemComponent GetRespawnSystemComponent ()
override void OnPostInit (IEntity owner)
 Editable Mine.
SCR_ESpawnResult CanHandleRequest_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data)
SCR_ESpawnResult HandleRequest_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data, out IEntity spawnedEntity)
void OnFinalizeBegin_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data, IEntity entity)
 Called when the finalisation process begins.
bool CanFinalize_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data, IEntity entity)
SCR_ESpawnResult FinalizeRequest_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data, IEntity entity)
void OnFinalizeDone_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data, IEntity entity)
bool ValidateData_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data)
bool CanRequestSpawn_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data, out SCR_ESpawnResult result)
SCR_ESpawnResult SpawnEntity_S (SCR_SpawnRequestComponent requestComponent, notnull SCR_SpawnData data, out IEntity spawnedEntity)
bool ValidatePrefab_S (ResourceName resourceName)
bool PrepareEntity_S (SCR_SpawnRequestComponent requestComponent, IEntity entity, SCR_SpawnData data)
bool AssignEntity_S (SCR_SpawnRequestComponent requestComponent, IEntity entity, SCR_SpawnData data)
void HandleSpawnEntityFailure_S (SCR_SpawnRequestComponent requestComponent, IEntity entity, SCR_SpawnData data, SCR_ESpawnResult reason)
bool ShouldDeleteEntityOnSpawnFailure_S (SCR_SpawnRequestComponent requestComponent, IEntity entity, SCR_SpawnData data, SCR_ESpawnResult reason)
void HandleEntityChange_S (SCR_SpawnRequestComponent requestComponent, IEntity previousEntity, IEntity newEntity, SCR_SpawnData data)

Variables

SCR_SpawnHandlerComponentClass m_RespawnSystemComponent
bool m_bDestroyPreviousControlledEntity
bool m_bDeletePreviousControlledEntity

Function Documentation

◆ AssignEntity_S()

bool AssignEntity_S ( SCR_SpawnRequestComponent requestComponent,
IEntity entity,
SCR_SpawnData data )
protected

Assign the entity ownership and set is as the controlled entity of provided player.

Parameters
[in]requestComponent
[in]entity
[in]data
Returns

Definition at line 323 of file SCR_SpawnHandlerComponent.c.

◆ CanFinalize_S()

bool CanFinalize_S ( SCR_SpawnRequestComponent requestComponent,
SCR_SpawnData data,
IEntity entity )
protected

Called periodically to ask whether finalization can be finished.

Parameters
[in]requestComponent
[in]data
[in]entity
Returns
True to finalize request, resulting in FinalizeRequest_S call, false to await further.

Definition at line 136 of file SCR_SpawnHandlerComponent.c.

◆ CanHandleRequest_S()

SCR_ESpawnResult CanHandleRequest_S ( SCR_SpawnRequestComponent requestComponent,
SCR_SpawnData data )
protected

Can a player be spawned with provided data?

Parameters
[in]requestComponentInstigator of this request
[in]dataRequest/ask data

Definition at line 46 of file SCR_SpawnHandlerComponent.c.

◆ CanRequestSpawn_S()

bool CanRequestSpawn_S ( SCR_SpawnRequestComponent requestComponent,
SCR_SpawnData data,
out SCR_ESpawnResult result )
protected

Can a player spawn, based on the provided data?

Handle game logic, ask game mode, respawn timers -> anything relevant for proper evaluation.

Parameters
[in]requestComponent
[in]data
[out]result
Returns
true if spawn is possible, false otherwise.

Definition at line 193 of file SCR_SpawnHandlerComponent.c.

◆ FinalizeRequest_S()

SCR_ESpawnResult FinalizeRequest_S ( SCR_SpawnRequestComponent requestComponent,
SCR_SpawnData data,
IEntity entity )
protected

Finalise request - validate resources, try to spawn, prepare and pass ownership to player.

Parameters
[in]requestComponent
[in]data
[in]entity
Returns

Definition at line 147 of file SCR_SpawnHandlerComponent.c.

◆ GetRespawnSystemComponent()

SCR_RespawnSystemComponent GetRespawnSystemComponent ( )
protected
Returns
parent handler manager component.

Definition at line 19 of file SCR_SpawnHandlerComponent.c.

◆ HandleEntityChange_S()

void HandleEntityChange_S ( SCR_SpawnRequestComponent requestComponent,
IEntity previousEntity,
IEntity newEntity,
SCR_SpawnData data )
protected

Called after new entity is assigned to the player.

Parameters
[in]requestComponent
[in]previousEntityLast controlled entity or null if none.
[in]newEntityNew controlled entity.
[in]data

Definition at line 387 of file SCR_SpawnHandlerComponent.c.

◆ HandleRequest_S()

SCR_ESpawnResult HandleRequest_S ( SCR_SpawnRequestComponent requestComponent,
SCR_SpawnData data,
out IEntity spawnedEntity )
protected

Handle request - validate resources, try to spawn, prepare and pass ownership to player.

Parameters
[in]requestComponent
[in]data
[out]spawnedEntity
Returns

Definition at line 82 of file SCR_SpawnHandlerComponent.c.

◆ HandleSpawnEntityFailure_S()

void HandleSpawnEntityFailure_S ( SCR_SpawnRequestComponent requestComponent,
IEntity entity,
SCR_SpawnData data,
SCR_ESpawnResult reason )
protected

In cases where an entity is spawned, it might be desirable to dispose of it if it e.g. cannot be prepared, or assigned to the target player. Such cases can be handled by overriding this method. By default, the entity is deleted.

Parameters
[in]requestComponent
[in]entityThe entity that should be spawned, but could not be given over (prepared, assigned, ..)
[in]data
[in]reason

Definition at line 355 of file SCR_SpawnHandlerComponent.c.

◆ OnFinalizeBegin_S()

void OnFinalizeBegin_S ( SCR_SpawnRequestComponent requestComponent,
SCR_SpawnData data,
IEntity entity )
protected

Called when the finalisation process begins.

Definition at line 121 of file SCR_SpawnHandlerComponent.c.

◆ OnFinalizeDone_S()

void OnFinalizeDone_S ( SCR_SpawnRequestComponent requestComponent,
SCR_SpawnData data,
IEntity entity )
protected

Request finalized (player spawned).

Parameters
[in]requestComponent
[in]data
[in]entity

Definition at line 104 of file SCR_PossessSpawnHandlerComponent.c.

◆ PrepareEntity_S()

bool PrepareEntity_S ( SCR_SpawnRequestComponent requestComponent,
IEntity entity,
SCR_SpawnData data )
protected

Prepare an entity on the server side prior to passing ownership. For example in this case character can have items added, can be seated in vehicle, etc.

Parameters
[in]requestComponent
[in]entity
[in]data
Returns

Definition at line 305 of file SCR_SpawnHandlerComponent.c.

◆ ShouldDeleteEntityOnSpawnFailure_S()

bool ShouldDeleteEntityOnSpawnFailure_S ( SCR_SpawnRequestComponent requestComponent,
IEntity entity,
SCR_SpawnData data,
SCR_ESpawnResult reason )
protected

Check whether spawned entity should be deleted if the spawn process failed.

Parameters
[in]requestComponent
[in]entity
[in]data
[in]reason
Returns

Definition at line 376 of file SCR_SpawnHandlerComponent.c.

◆ SpawnEntity_S()

SCR_ESpawnResult SpawnEntity_S ( SCR_SpawnRequestComponent requestComponent,
notnull SCR_SpawnData data,
out IEntity spawnedEntity )
protected
  1. Validate prefab on server
  2. Validate input data on server
  3. Spawn entity on server
  4. Prepare entity on server (e.g. seat in vehicle) On success next step is to Finalise.
    Parameters
    [in]requestComponent
    [in]data
    [out]spawnedEntity
    Returns

Definition at line 214 of file SCR_SpawnHandlerComponent.c.

◆ ValidateData_S()

bool ValidateData_S ( SCR_SpawnRequestComponent requestComponent,
SCR_SpawnData data )
protected

Verifies provided data.

Parameters
[in]requestComponent
[in]data
Returns

Definition at line 177 of file SCR_SpawnHandlerComponent.c.

◆ ValidatePrefab_S()

bool ValidatePrefab_S ( ResourceName resourceName)
protected

Verifies provided prefab.

Parameters
[in]resourceName
Returns
true if provided prefab is a valid and has a controller component.

Definition at line 274 of file SCR_SpawnHandlerComponent.c.

Variable Documentation

◆ m_bDeletePreviousControlledEntity

bool m_bDeletePreviousControlledEntity
protected

Definition at line 28 of file SCR_SpawnHandlerComponent.c.

◆ m_bDestroyPreviousControlledEntity

bool m_bDestroyPreviousControlledEntity
protected

Definition at line 25 of file SCR_SpawnHandlerComponent.c.

◆ m_RespawnSystemComponent

SCR_SpawnHandlerComponentClass m_RespawnSystemComponent

SCR_SpawnRequestComponent <-> SCR_SpawnHandlerComponent

SCR_SpawnRequestComponent allows communication between client and the authority, SCR_SpawnHandlerComponent handles the requests on authority as desired.

The handler is the authority component of the respawn process which handles client (or authority-issued) request to respawn from a specific player controller and ensures that the spawning process is handled and streamlined. The process is further streamlined via the usage of a unified parent manager, the SCR_RespawnSystemComponent.