Arma Reforger Script API
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
SCR_MapMarkerManagerComponent Interface Reference

Map marker manager, keeps array of markers and takes care of synchronization Attached to GameMode entity. More...

Inheritance diagram for SCR_MapMarkerManagerComponent:
[legend]

Public Member Functions

SCR_MapMarkerConfig GetMarkerConfig ()
 
array< ref SCR_MapMarkerBaseGetStaticMarkers ()
 
array< ref SCR_MapMarkerBaseGetDisabledMarkers ()
 
array< SCR_MapMarkerEntityGetDynamicMarkers ()
 
SCR_MapMarkerBase GetMarkerByWidget (Widget w)
 
SCR_MapMarkerBase GetStaticMarkerByID (int markerID)
 
SCR_MapMarkerEntity GetDynamicMarkerByTarget (SCR_EMapMarkerType type, IEntity target)
 
void InsertStaticMarkerByType (SCR_EMapMarkerType type, int worldX, int worldY, bool isLocal, int configId=-1, int factionFlags=0, bool isServerMarker=false)
 SPAWN/REMOVE API.
 
void InsertStaticMarker (SCR_MapMarkerBase marker, bool isLocal, bool isServerMarker=false)
 Insert customized static marker.
 
SCR_MapMarkerBase PrepareMilitaryMarker (EMilitarySymbolIdentity faction, EMilitarySymbolDimension dimension, EMilitarySymbolIcon typeFlags)
 Prepare military marker based on existing configure attributes within marker config.
 
SCR_MapMarkerEntity InsertDynamicMarker (SCR_EMapMarkerType type, IEntity entity, int configId=-1)
 Authority only.
 
void RemoveStaticMarker (SCR_MapMarkerBase marker)
 Remove a static marker.
 
void RemoveDynamicMarker (notnull SCR_MapMarkerEntity ent)
 Authority only.
 
void AssignMarkerUID (SCR_MapMarkerBase marker)
 
void SetMarkerStreamRules (notnull SCR_MapMarkerEntity marker)
 Network streaming rules for the marker Authority only -> Called when marker faction is assigned.
 
void SetStreamRulesForPlayer (int playerID)
 Network streaming rules of all markers of player Authority only -> Set when player is spawned.
 
void EnableUpdate (bool state)
 Set manager to run UI updates for markers.
 
void SetStaticMarkerDisabled (notnull SCR_MapMarkerBase marker, bool state)
 Enable/disable static marker.
 
void RegisterDynamicMarker (SCR_MapMarkerEntity markerEnt)
 Registers the marker within manager, called by the marker entity.
 
void UnregisterDynamicMarker (SCR_MapMarkerEntity markerEnt)
 Unregisters the marker within manager, called by the marker entity.
 
void Update (float timeSlice)
 
void OnAddSynchedMarker (SCR_MapMarkerBase marker)
 RPC result of marker add broadcast Is an event and should NOT be called directly, it is only public since server needs to call it from SCR_MapMarkerSyncComponent.
 
void OnRemoveSynchedMarker (int markerID)
 RPC result of marker remove broadcast Is an event and should NOT be called directly, it is only public since server needs to call it from SCR_MapMaprkerSyncComponent.
 
void OnAskAddStaticMarker (SCR_MapMarkerBase markerData)
 Server side call from sync component for RPC marker add broadcast.
 
void OnAskRemoveStaticMarker (int markerID)
 Server side call from sync component for RPC marker remove broadcast.
 
void OnPlayerFactionChanged_S (int playerID, SCR_PlayerFactionAffiliationComponent playerComponent, Faction faction)
 Faction manager event -> server only.
 
override void OnPlayerDisconnected (int playerId, KickCauseCode cause, int timeout)
 Called after a player is disconnected.
 
override void OnPostInit (IEntity owner)
 
void ~SCR_MapMarkerManagerComponent ()
 
- 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 killer)
 See SCR_BaseGameMode.HandlePlayerKilled.
 
void OnPlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer)
 Called after a player gets killed.
 
void OnPlayerKilledHandled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer)
 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 (IEntity entity, IEntity killerEntity, notnull Instigator killer)
 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_MapMarkerManagerComponent GetInstance ()
 GETTERS.
 

Protected Member Functions

void HandleStreamOut (SCR_MapMarkerEntity marker, PlayerController pController, bool state)
 Enable stream out of specific marker for target identity.
 
bool FindMarkerSyncComponent ()
 
void ConnectToMarkerManagerSystem ()
 
void DisconnectFromMarkerManagerSystem ()
 
void RPC_DoAddStaticMarker (SCR_MapMarkerBase markerData)
 
void RPC_DoRemoveStaticMarker (int markerID)
 
void OnMapPanEnd (float x, float y)
 
override bool RplSave (ScriptBitWriter writer)
 
override bool RplLoad (ScriptBitReader reader)
 
override void EOnInit (IEntity owner)
 

Protected Attributes

ResourceName m_sMarkerCfgPath
 
ref array< ref SCR_MapMarkerBasem_aStaticMarkers = {}
 
ref array< ref SCR_MapMarkerBasem_aDisabledMarkers = {}
 
ref array< SCR_MapMarkerEntitym_aDynamicMarkers = {}
 
int m_iID
 
vector m_vVisibleFrameMin
 
vector m_vVisibleFrameMax
 
SCR_MapEntity m_MapEntity
 
SCR_MapMarkerSyncComponent m_MarkerSyncComp
 
ref SCR_MapMarkerConfig m_MarkerCfg
 
- Protected Attributes inherited from SCR_BaseGameModeComponent
SCR_BaseGameMode m_pGameMode
 The game mode entity this component is attached to.
 

Static Protected Attributes

static SCR_MapMarkerManagerComponent s_Instance
 

Detailed Description

Map marker manager, keeps array of markers and takes care of synchronization Attached to GameMode entity.

Constructor & Destructor Documentation

◆ ~SCR_MapMarkerManagerComponent()

void SCR_MapMarkerManagerComponent.~SCR_MapMarkerManagerComponent ( )

Member Function Documentation

◆ AssignMarkerUID()

void SCR_MapMarkerManagerComponent.AssignMarkerUID ( SCR_MapMarkerBase  marker)

◆ ConnectToMarkerManagerSystem()

void SCR_MapMarkerManagerComponent.ConnectToMarkerManagerSystem ( )
protected

◆ DisconnectFromMarkerManagerSystem()

void SCR_MapMarkerManagerComponent.DisconnectFromMarkerManagerSystem ( )
protected

◆ EnableUpdate()

void SCR_MapMarkerManagerComponent.EnableUpdate ( bool  state)

Set manager to run UI updates for markers.

Parameters
[in]state

◆ EOnInit()

override void SCR_MapMarkerManagerComponent.EOnInit ( IEntity  owner)
protected

◆ FindMarkerSyncComponent()

bool SCR_MapMarkerManagerComponent.FindMarkerSyncComponent ( )
protected

◆ GetDisabledMarkers()

array< ref SCR_MapMarkerBase > SCR_MapMarkerManagerComponent.GetDisabledMarkers ( )
Returns

◆ GetDynamicMarkerByTarget()

SCR_MapMarkerEntity SCR_MapMarkerManagerComponent.GetDynamicMarkerByTarget ( SCR_EMapMarkerType  type,
IEntity  target 
)
Parameters
[in]type
[in]target
Returns

◆ GetDynamicMarkers()

array< SCR_MapMarkerEntity > SCR_MapMarkerManagerComponent.GetDynamicMarkers ( )
Returns

◆ GetInstance()

static SCR_MapMarkerManagerComponent SCR_MapMarkerManagerComponent.GetInstance ( )
static

GETTERS.

Returns

◆ GetMarkerByWidget()

SCR_MapMarkerBase SCR_MapMarkerManagerComponent.GetMarkerByWidget ( Widget  w)
Parameters
[in]w
Returns

◆ GetMarkerConfig()

SCR_MapMarkerConfig SCR_MapMarkerManagerComponent.GetMarkerConfig ( )
Returns

◆ GetStaticMarkerByID()

SCR_MapMarkerBase SCR_MapMarkerManagerComponent.GetStaticMarkerByID ( int  markerID)
Parameters
[in]markerID
Returns

◆ GetStaticMarkers()

array< ref SCR_MapMarkerBase > SCR_MapMarkerManagerComponent.GetStaticMarkers ( )
Returns

◆ HandleStreamOut()

void SCR_MapMarkerManagerComponent.HandleStreamOut ( SCR_MapMarkerEntity  marker,
PlayerController  pController,
bool  state 
)
protected

Enable stream out of specific marker for target identity.

Parameters
[in]markeris the subject marker
[in]pControllerPlayerController is the subject player's controller
[in]statesets target state of stream out -> enabled if true, meaning that replication will stream out the subject

◆ InsertDynamicMarker()

SCR_MapMarkerEntity SCR_MapMarkerManagerComponent.InsertDynamicMarker ( SCR_EMapMarkerType  type,
IEntity  entity,
int  configId = -1 
)

Authority only.

Parameters
[in]type
[in]entity
[in]configId
Returns

◆ InsertStaticMarker()

void SCR_MapMarkerManagerComponent.InsertStaticMarker ( SCR_MapMarkerBase  marker,
bool  isLocal,
bool  isServerMarker = false 
)

Insert customized static marker.

Parameters
[in]markeris the subject
[in]isLocaldetermines whether the marker is synchronised to other players or local
[in]isServerMarkerdetermines whether the marker is spawned by server and should not count towards marker limits (different from server-client spawning his own markers)

◆ InsertStaticMarkerByType()

void SCR_MapMarkerManagerComponent.InsertStaticMarkerByType ( SCR_EMapMarkerType  type,
int  worldX,
int  worldY,
bool  isLocal,
int  configId = -1,
int  factionFlags = 0,
bool  isServerMarker = false 
)

SPAWN/REMOVE API.

Insert predefined type of static marker

Parameters
[in]typeis primary marker type
[in]worldXis x world poosition
[in]worldYis y world poosition
[in]isLocaldetermiens whether the marker will be created client side only or synchronized to other eligible players
[in]configIdis secondary marker ID used to select a predefined subtype
[in]factionFLagsdetermine which factions are able to see the marker, 0 for everyone

◆ OnAddSynchedMarker()

void SCR_MapMarkerManagerComponent.OnAddSynchedMarker ( SCR_MapMarkerBase  marker)

RPC result of marker add broadcast Is an event and should NOT be called directly, it is only public since server needs to call it from SCR_MapMarkerSyncComponent.

Parameters
[in]marker

◆ OnAskAddStaticMarker()

void SCR_MapMarkerManagerComponent.OnAskAddStaticMarker ( SCR_MapMarkerBase  markerData)

Server side call from sync component for RPC marker add broadcast.

Parameters
[in]markerData

◆ OnAskRemoveStaticMarker()

void SCR_MapMarkerManagerComponent.OnAskRemoveStaticMarker ( int  markerID)

Server side call from sync component for RPC marker remove broadcast.

Parameters
[in]markerID

◆ OnMapPanEnd()

void SCR_MapMarkerManagerComponent.OnMapPanEnd ( float  x,
float  y 
)
protected

◆ OnPlayerDisconnected()

override void SCR_MapMarkerManagerComponent.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.

◆ OnPlayerFactionChanged_S()

void SCR_MapMarkerManagerComponent.OnPlayerFactionChanged_S ( int  playerID,
SCR_PlayerFactionAffiliationComponent  playerComponent,
Faction  faction 
)

Faction manager event -> server only.

Parameters
[in]playerID
[in]playerComponent
[in]faction

◆ OnPostInit()

override void SCR_MapMarkerManagerComponent.OnPostInit ( IEntity  owner)

◆ OnRemoveSynchedMarker()

void SCR_MapMarkerManagerComponent.OnRemoveSynchedMarker ( int  markerID)

RPC result of marker remove broadcast Is an event and should NOT be called directly, it is only public since server needs to call it from SCR_MapMaprkerSyncComponent.

Parameters
[in]markerID

◆ PrepareMilitaryMarker()

SCR_MapMarkerBase SCR_MapMarkerManagerComponent.PrepareMilitaryMarker ( EMilitarySymbolIdentity  faction,
EMilitarySymbolDimension  dimension,
EMilitarySymbolIcon  typeFlags 
)

Prepare military marker based on existing configure attributes within marker config.

Parameters
[in]faction
[in]dimension
[in]typeFlags
Returns
military marker with set symbol parameters for network synchronisation

◆ RegisterDynamicMarker()

void SCR_MapMarkerManagerComponent.RegisterDynamicMarker ( SCR_MapMarkerEntity  markerEnt)

Registers the marker within manager, called by the marker entity.

Parameters
[in]markerEnt

◆ RemoveDynamicMarker()

void SCR_MapMarkerManagerComponent.RemoveDynamicMarker ( notnull SCR_MapMarkerEntity  ent)

Authority only.

Parameters
[in]ent

◆ RemoveStaticMarker()

void SCR_MapMarkerManagerComponent.RemoveStaticMarker ( SCR_MapMarkerBase  marker)

Remove a static marker.

Parameters
[in]marker

◆ RPC_DoAddStaticMarker()

void SCR_MapMarkerManagerComponent.RPC_DoAddStaticMarker ( SCR_MapMarkerBase  markerData)
protected

◆ RPC_DoRemoveStaticMarker()

void SCR_MapMarkerManagerComponent.RPC_DoRemoveStaticMarker ( int  markerID)
protected

◆ RplLoad()

override bool SCR_MapMarkerManagerComponent.RplLoad ( ScriptBitReader  reader)
protected

◆ RplSave()

override bool SCR_MapMarkerManagerComponent.RplSave ( ScriptBitWriter  writer)
protected

◆ SetMarkerStreamRules()

void SCR_MapMarkerManagerComponent.SetMarkerStreamRules ( notnull SCR_MapMarkerEntity  marker)

Network streaming rules for the marker Authority only -> Called when marker faction is assigned.

Parameters
[in]marker

◆ SetStaticMarkerDisabled()

void SCR_MapMarkerManagerComponent.SetStaticMarkerDisabled ( notnull SCR_MapMarkerBase  marker,
bool  state 
)

Enable/disable static marker.

Parameters
[in]marker
[in]state

◆ SetStreamRulesForPlayer()

void SCR_MapMarkerManagerComponent.SetStreamRulesForPlayer ( int  playerID)

Network streaming rules of all markers of player Authority only -> Set when player is spawned.

Parameters
[in]playerID

◆ UnregisterDynamicMarker()

void SCR_MapMarkerManagerComponent.UnregisterDynamicMarker ( SCR_MapMarkerEntity  markerEnt)

Unregisters the marker within manager, called by the marker entity.

Parameters
[in]markerEnt

◆ Update()

void SCR_MapMarkerManagerComponent.Update ( float  timeSlice)

Member Data Documentation

◆ m_aDisabledMarkers

ref array<ref SCR_MapMarkerBase> SCR_MapMarkerManagerComponent.m_aDisabledMarkers = {}
protected

◆ m_aDynamicMarkers

ref array<SCR_MapMarkerEntity> SCR_MapMarkerManagerComponent.m_aDynamicMarkers = {}
protected

◆ m_aStaticMarkers

ref array<ref SCR_MapMarkerBase> SCR_MapMarkerManagerComponent.m_aStaticMarkers = {}
protected

◆ m_iID

int SCR_MapMarkerManagerComponent.m_iID
protected

◆ m_MapEntity

SCR_MapEntity SCR_MapMarkerManagerComponent.m_MapEntity
protected

◆ m_MarkerCfg

ref SCR_MapMarkerConfig SCR_MapMarkerManagerComponent.m_MarkerCfg
protected

◆ m_MarkerSyncComp

SCR_MapMarkerSyncComponent SCR_MapMarkerManagerComponent.m_MarkerSyncComp
protected

◆ m_sMarkerCfgPath

ResourceName SCR_MapMarkerManagerComponent.m_sMarkerCfgPath
protected

◆ m_vVisibleFrameMax

vector SCR_MapMarkerManagerComponent.m_vVisibleFrameMax
protected

◆ m_vVisibleFrameMin

vector SCR_MapMarkerManagerComponent.m_vVisibleFrameMin
protected

◆ s_Instance

SCR_MapMarkerManagerComponent SCR_MapMarkerManagerComponent.s_Instance
staticprotected

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