Arma Reforger Script API
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SCR_PossessingManagerComponent Interface Reference
Inheritance diagram for SCR_PossessingManagerComponent:
[legend]

Public Member Functions

ScriptInvoker GetOnPossessed ()
 
ScriptInvokerOnPossessedProxy GetOnPossessedProxy ()
 
IEntity GetMainEntity (int iPlayerId)
 Get player's main entity.
 
RplId GetMainRplId (int iPlayerId)
 Get RplId of player's main entity.
 
IEntity GetPossessedEntity (int iPlayerId)
 Get the entity currently possessed by player.
 
RplId GetPossessedRplId (int iPlayerId)
 Get RplId of the entity currently possessed by player.
 
int GetIdFromMainEntity (IEntity entity)
 Get player ID based on main entity, no matter if it's currently controlled or not.
 
int GetIdFromMainRplId (RplId rplId)
 Get player ID based on main entity's RplId, no matter if it's currently controlled or not.
 
int GetIdFromControlledEntity (IEntity entity)
 Get player ID from directly controlled or main entity.
 
int GetIdFromControlledRplId (RplId rplId)
 Get player ID from RplId of directly controlled or main entity.
 
bool IsPossessing (int iPlayerId)
 
void SetMainEntity (int playerID, IEntity controlledEntity, IEntity mainEntity, bool isPossessing)
 
override void OnControllableDestroyed (notnull SCR_InstigatorContextData instigatorContextData)
 When a controllable entity is destroyed, this event is raised.
 
override bool HandlePlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator instigator)
 See SCR_BaseGameMode.HandlePlayerKilled.
 
override void OnPlayerDisconnected (int playerId, KickCauseCode cause, int timeout)
 Called after a player is disconnected.
 
override void OnPostInit (IEntity owner)
 
override void OnDelete (IEntity owner)
 
override bool RplSave (ScriptBitWriter writer)
 
override bool RplLoad (ScriptBitReader reader)
 
- 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.
 
void OnPlayerSpawned (int playerId, IEntity controlledEntity)
 Called after a player is spawned.
 
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 HandleOnLoadoutAssigned (int playerID, SCR_BasePlayerLoadout assignedLoadout)
 What happens when a player is assigned a loadout.
 
void HandleOnFactionAssigned (int playerID, Faction assignedFaction)
 What happens when a player is assigned a faction.
 
void HandleOnSpawnPointAssigned (int playerID, SCR_SpawnPoint spawnPoint)
 What happens when a player is assigned a spawn point.
 
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_PossessingManagerComponent GetInstance ()
 
static IEntity GetPlayerMainEntity (int iPlayerId)
 Get player's main entity.
 
static RplId GetPlayerMainRplId (int iPlayerId)
 Get RplId of player's main entity.
 
static int GetPlayerIdFromMainEntity (IEntity entity)
 Get player ID based on main entity, no matter if it is currently controlled or not.
 
static int GetPlayerIdFromMainRplId (RplId rplId)
 Get player ID based on main entity, no matter if it's currently controlled or not.
 
static int GetPlayerIdFromControlledEntity (IEntity entity)
 Get player ID from directly controlled or main entity.
 
static int GetPlayerIdFromControlledEntity (RplId rplId)
 Get player ID from RplId of directly controlled or main entity.
 

Protected Member Functions

void SetMainEntityBroadcast (int playerID, bool isPossessing, RplId mainEntityID)
 
override void OnControllableDeleted (IEntity entity)
 Prior to a controllable entity being DELETED, this event is raised.
 
RplId GetRplId (IEntity entity)
 

Protected Attributes

ref map< int, RplId > m_MainEntities = new map<int, RplId>()
 
ref ScriptInvoker Event_OnPossessed
 
ref ScriptInvokerOnPossessedProxy Event_OnPossessedProxy
 
- Protected Attributes inherited from SCR_BaseGameModeComponent
SCR_BaseGameMode m_pGameMode
 The game mode entity this component is attached to.
 

Member Function Documentation

◆ GetIdFromControlledEntity()

int SCR_PossessingManagerComponent.GetIdFromControlledEntity ( IEntity  entity)

Get player ID from directly controlled or main entity.

Parameters
[in]entityEvaluated entity
Returns
Player ID, or 0 if the entity does not belong to any player

◆ GetIdFromControlledRplId()

int SCR_PossessingManagerComponent.GetIdFromControlledRplId ( RplId  rplId)

Get player ID from RplId of directly controlled or main entity.

Parameters
[in]rplIdEvaluated entity's RplId
Returns
Player ID, or 0 if the entity does not belong to any player

◆ GetIdFromMainEntity()

int SCR_PossessingManagerComponent.GetIdFromMainEntity ( IEntity  entity)

Get player ID based on main entity, no matter if it's currently controlled or not.

Parameters
[in]entityEvaluated entity
Returns
Player ID, or 0 if the entity does not belong to any player

◆ GetIdFromMainRplId()

int SCR_PossessingManagerComponent.GetIdFromMainRplId ( RplId  rplId)

Get player ID based on main entity's RplId, no matter if it's currently controlled or not.

Parameters
[in]rplIdEvaluated entity's RplId
Returns
Player ID, or 0 if the entity does not belong to any player

◆ GetInstance()

static SCR_PossessingManagerComponent SCR_PossessingManagerComponent.GetInstance ( )
static
Returns
Local instance of the possession manager

◆ GetMainEntity()

IEntity SCR_PossessingManagerComponent.GetMainEntity ( int  iPlayerId)

Get player's main entity.

When not possessing, this will be the same as GetPlayerControlledEntity() When possessing, this will be player's main entity which was controlled before possessing started

Parameters
[in]iPlayerId
Returns
Main player entity

◆ GetMainRplId()

RplId SCR_PossessingManagerComponent.GetMainRplId ( int  iPlayerId)

Get RplId of player's main entity.

When not possessing, this will be RplId of GetPlayerControlledEntity() When possessing, this will be RplId of player's main entity which was controlled before possessing started

Parameters
[in]iPlayerId
Returns
Main player entity's RplId. Returned even if the entity is not streamed in.

◆ GetOnPossessed()

ScriptInvoker SCR_PossessingManagerComponent.GetOnPossessed ( )
Returns
Event called on server when player possession changes

◆ GetOnPossessedProxy()

ScriptInvokerOnPossessedProxy SCR_PossessingManagerComponent.GetOnPossessedProxy ( )
Returns
Event called on proxy when player possession changes

◆ GetPlayerIdFromControlledEntity() [1/2]

static int SCR_PossessingManagerComponent.GetPlayerIdFromControlledEntity ( IEntity  entity)
static

Get player ID from directly controlled or main entity.

Parameters
[in]entityEvaluated entity
Returns
Player ID, or 0 if the entity does not belong to any player

◆ GetPlayerIdFromControlledEntity() [2/2]

static int SCR_PossessingManagerComponent.GetPlayerIdFromControlledEntity ( RplId  rplId)
static

Get player ID from RplId of directly controlled or main entity.

Parameters
[in]rplIdEvaluated entity's RplId
Returns
Player ID, or 0 if the entity does not belong to any player

◆ GetPlayerIdFromMainEntity()

static int SCR_PossessingManagerComponent.GetPlayerIdFromMainEntity ( IEntity  entity)
static

Get player ID based on main entity, no matter if it is currently controlled or not.

Parameters
[in]entityEvaluated entity
Returns
Player ID, or 0 if the entity does not belong to any player

◆ GetPlayerIdFromMainRplId()

static int SCR_PossessingManagerComponent.GetPlayerIdFromMainRplId ( RplId  rplId)
static

Get player ID based on main entity, no matter if it's currently controlled or not.

Parameters
[in]rplIdEvaluated entity's RplId
Returns
Player ID, or 0 if the entity does not belong to any player

◆ GetPlayerMainEntity()

static IEntity SCR_PossessingManagerComponent.GetPlayerMainEntity ( int  iPlayerId)
static

Get player's main entity.

When not possessing, this will be the same as GetPlayerControlledEntity() When possessing, this will be player's main entity which was controlled before possessing started

Parameters
[in]iPlayerId
Returns
Main player entity

◆ GetPlayerMainRplId()

static RplId SCR_PossessingManagerComponent.GetPlayerMainRplId ( int  iPlayerId)
static

Get RplId of player's main entity.

When not possessing, this will be RplId of GetPlayerControlledEntity() When possessing, this will be RplId of player's main entity which was controlled before possessing started

Parameters
[in]iPlayerId
Returns
Main player entity's RplId. Returned even if the entity is not streamed in.

◆ GetPossessedEntity()

IEntity SCR_PossessingManagerComponent.GetPossessedEntity ( int  iPlayerId)

Get the entity currently possessed by player.

Parameters
[in]iPlayerId
Returns
Possessed entity. When not possessing, null is returned.

◆ GetPossessedRplId()

RplId SCR_PossessingManagerComponent.GetPossessedRplId ( int  iPlayerId)

Get RplId of the entity currently possessed by player.

Parameters
[in]iPlayerId
Returns
RplId of possessed entity. When not possessing, default RplId is returned.

◆ GetRplId()

RplId SCR_PossessingManagerComponent.GetRplId ( IEntity  entity)
protected

◆ HandlePlayerKilled()

override bool SCR_PossessingManagerComponent.HandlePlayerKilled ( int  playerId,
IEntity  playerEntity,
IEntity  killerEntity,
notnull Instigator  instigator 
)

◆ IsPossessing()

bool SCR_PossessingManagerComponent.IsPossessing ( int  iPlayerId)
Parameters
[in]iPlayerIdPlayer ID
Returns
if given player is currently possessing an entity.

◆ OnControllableDeleted()

override void SCR_PossessingManagerComponent.OnControllableDeleted ( IEntity  entity)
protected

Prior to a controllable entity being DELETED, this event is raised.

Controllable entity is such that has BaseControllerComponent and can be possessed either by a player, an AI or stay unpossessed.

Parameters
[in]entityEntity about to be deleted

Implements SCR_BaseGameModeComponent.

◆ OnControllableDestroyed()

override void SCR_PossessingManagerComponent.OnControllableDestroyed ( notnull SCR_InstigatorContextData  instigatorContextData)

When a controllable entity is destroyed, this event is raised.

Parameters
[in]instigatorContextDataHolds the data of the victim and killer

Implements SCR_BaseGameModeComponent.

◆ OnDelete()

override void SCR_PossessingManagerComponent.OnDelete ( IEntity  owner)

◆ OnPlayerDisconnected()

override void SCR_PossessingManagerComponent.OnPlayerDisconnected ( int  playerId,
KickCauseCode  cause,
int  timeout 
)

Called after a player is disconnected.

Parameters
[in]playerIdPlayerId of disconnected player.
[in]causeReason player disconnected
[in]timeoutTimeout for when players are allowed to connect again. -1 means Ban without an assigned timeout

Implements SCR_BaseGameModeComponent.

◆ OnPostInit()

override void SCR_PossessingManagerComponent.OnPostInit ( IEntity  owner)

◆ RplLoad()

override bool SCR_PossessingManagerComponent.RplLoad ( ScriptBitReader  reader)

◆ RplSave()

override bool SCR_PossessingManagerComponent.RplSave ( ScriptBitWriter  writer)

◆ SetMainEntity()

void SCR_PossessingManagerComponent.SetMainEntity ( int  playerID,
IEntity  controlledEntity,
IEntity  mainEntity,
bool  isPossessing 
)
Parameters
[in]playerID
[in]controlledEntity
[in]mainEntity
[in]isPossessing

◆ SetMainEntityBroadcast()

void SCR_PossessingManagerComponent.SetMainEntityBroadcast ( int  playerID,
bool  isPossessing,
RplId  mainEntityID 
)
protected

Member Data Documentation

◆ Event_OnPossessed

ref ScriptInvoker SCR_PossessingManagerComponent.Event_OnPossessed
protected

◆ Event_OnPossessedProxy

ref ScriptInvokerOnPossessedProxy SCR_PossessingManagerComponent.Event_OnPossessedProxy
protected

◆ m_MainEntities

ref map<int, RplId> SCR_PossessingManagerComponent.m_MainEntities = new map<int, RplId>()
protected

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