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

Service providing group of defenders defined in faction. Requires SCR_EnableDefenderAction on ActionManager for players to manage its functionality. More...

Inheritance diagram for SCR_DefenderSpawnerComponent:
[legend]

Public Member Functions

SCR_ECharacterRank GetMinimumRank ()
 
bool UserRankCheck (IEntity user)
 
OnDefenderGroupSpawnedInvoker GetOnDefenderGroupSpawned ()
 
void SetWaypoint (SCR_AIWaypoint wp)
 Assign custom waypoint to be used by defender group.
 
void AssignSupplyComponent (notnull SCR_CampaignSuppliesComponent supplyComp)
 Assign supply component to handle supplies of spawner.
 
SCR_CampaignSuppliesComponent GetSpawnerSupplyComponent ()
 
float GetSpawnerSupplies ()
 Get available supplies.
 
void AddSupplies (float value)
 Set the spawner supplies value.
 
bool IsSpawningEnabled ()
 Returns true if spawner is currently activated.
 
void EnableSpawning (bool enable, int playerID)
 Enable spawning of defender groups.
 
bool IsProxy ()
 
SCR_EntitySpawnerSlotComponent GetFreeSlot ()
 
void ~SCR_DefenderSpawnerComponent ()
 
- Public Member Functions inherited from SCR_SlotServiceComponent
void RegisterSlot (SCR_EntitySpawnerSlotComponent slot)
 Register slot to be used for service.
 
- Public Member Functions inherited from SCR_ServicePointComponent
Faction GetFaction ()
 
ResourceName GetDelegatePrefab ()
 
ScriptInvoker GetOnServiceStateChanged ()
 
SCR_EServicePointType GetType ()
 
EEditableEntityLabel GetLabel ()
 
SCR_EServicePointStatus GetServiceState ()
 
void SetServiceState (SCR_EServicePointStatus state)
 Set the current operational state of the service.
 
void ServiceStateChanged ()
 Called from RplProp event.
 
void SetDelegate (notnull SCR_ServicePointDelegateComponent delegate)
 
override void OnBaseUnregistered (notnull SCR_MilitaryBaseComponent base)
 
void RegisterService ()
 
void SetServiceOnline ()
 Switch service to online status.
 
override void OnPostInit (IEntity owner)
 
override void OnDelete (IEntity owner)
 
- Public Member Functions inherited from SCR_MilitaryBaseLogicComponent
void RegisterBase (notnull SCR_MilitaryBaseComponent base)
 
void OnBaseRegistered (notnull SCR_MilitaryBaseComponent base)
 
void UnregisterBase (notnull SCR_MilitaryBaseComponent base)
 
void OnBaseUnregistered (notnull SCR_MilitaryBaseComponent base)
 
int GetBases (out array< SCR_MilitaryBaseComponent > bases)
 
void OnBaseFactionChanged (Faction faction)
 
override void EOnInit (IEntity owner)
 
override void OnPostInit (IEntity owner)
 
void ~SCR_MilitaryBaseLogicComponent ()
 

Protected Member Functions

void AssignDefenderGroupDataFromOwningFaction ()
 Set Defender group data from Entity catalog on owning faction.
 
void SpawnUnit (ResourceName unitResource, bool consumeSupplies=true)
 Spawn Units with given ResourceName and assign it to group.
 
void OnMovingCharacterDeath (SCR_CharacterControllerComponent characterController, IEntity killerEntity, Instigator killer)
 
void OnMoveFinished (SCR_AIActionBase action)
 
void ReinforceGroup ()
 Refills AI's in defender group.
 
void SpawnGroup ()
 Spawn defender AI group from faction prefab.
 
AIWaypoint GetWaypoint ()
 
SCR_EDefenderSpawnerState GetPlayerDistanceState ()
 
void HandleGroup ()
 Manages automatic group spawning.
 
override void OnFactionChanged (FactionAffiliationComponent owner, Faction previousFaction, Faction faction)
 
override void EOnInit (IEntity owner)
 
override void OnPostInit (IEntity owner)
 
- Protected Member Functions inherited from SCR_SlotServiceComponent
bool CanBeSlotRegistered (notnull SCR_EntitySpawnerSlotComponent slot)
 Prevents registration of slots that are too far from service, or are already child of another slot service.
 
bool SlotSearchCallback (IEntity ent)
 Callback function for Query used in RegisterNearbySlots Should callback return true, QueryEntitiesBySphere will continue with query.
 
void RegisterNearbySlots ()
 Registers slots in near distance. Kept for sake of client checks. Skips slots that are in hiearchy of any entity with SCR_SlotService or classes inherited from it.
 
void RegisterChildSlots ()
 Registers slots initially created as children. There slots cannot be used by any other spawner and shouldn't change in runtime.
 
void OnSlotUpdate (SCR_EntitySpawnerSlotComponent slot, vector position)
 Called, if slot possition was changed. If it fails to meet previously required criteria in CanBeSlotRegistered, slot wont be used anymore.
 
void OnSlotRemoved (SCR_EntitySpawnerSlotComponent slot)
 Called, if slot possition was changed. If it fails to meet previously required criteria in CanBeSlotRegistered, slot wont be used anymore.
 
override void EOnInit (IEntity owner)
 
void OnFactionChanged (FactionAffiliationComponent owner, Faction previousFaction, Faction faction)
 

Protected Attributes

ref array< EEditableEntityLabel > m_aAllowedLabels
 
ref array< EEditableEntityLabel > m_aIgnoredLabels
 
float m_fRespawnDelay
 
bool m_bEnableSpawning
 
float m_fMinHostilePlayerDistance
 
bool m_bSuppliesConsumptionEnabled
 
int m_iCustomSupplies
 
SCR_ECharacterRank m_eMinimumRankForEnabling
 
RplComponent m_RplComponent
 
SCR_CampaignSuppliesComponent m_SupplyComponent
 
SCR_ResourceComponent m_ResourceComponent
 
SCR_SpawnerAIGroupManagerComponent m_GroupSpawningManager
 
WorldTimestamp m_fNextRespawnTime
 
SCR_EntityCatalogEntry m_GroupEntry
 
SCR_AIGroup m_AIgroup
 
AIWaypoint m_Waypoint
 
int m_iDespawnedGroupMembers
 
ref array< ref Tuple3< SCR_AIActionBase, AIAgent, WorldTimestamp > > m_aUnitsOnMove = {}
 
ref array< ResourceName > m_aRefillQueue
 
ref array< SCR_AIGroupm_aPreviousGroups
 
ref array< IEntity > m_aOldUnits
 
ref OnDefenderGroupSpawnedInvoker m_OnDefenderGroupSpawned
 
- Protected Attributes inherited from SCR_SlotServiceComponent
SCR_SpawnerSlotManager m_SlotManager
 
ref array< SCR_EntitySpawnerSlotComponentm_aChildSlots = {}
 
ref array< SCR_EntitySpawnerSlotComponentm_aNearSlots = {}
 
- Protected Attributes inherited from SCR_ServicePointComponent
SCR_EServicePointType m_eType
 
EEditableEntityLabel m_eBuildingLabel
 
ResourceName m_sDelegatePrefab
 
SCR_EServicePointStatus m_eServiceState = SCR_EServicePointStatus.OFFLINE
 
SCR_FactionAffiliationComponent m_FactionControl
 
ref ScriptInvoker m_OnServiceStateChanged
 
SCR_ServicePointDelegateComponent m_Delegate
 
- Protected Attributes inherited from SCR_MilitaryBaseLogicComponent
ref array< SCR_MilitaryBaseComponentm_aBases = {}
 

Static Protected Attributes

static const int SPAWN_CHECK_INTERVAL = 1000
 
static const int SPAWN_GROUP_JOIN_TIMEOUT = 20
 
static const int SPAWN_RADIUS_MIN = Math.Pow(500, 2)
 
static const int SPAWN_RADIUS_MAX = Math.Pow(1000, 2)
 
- Static Protected Attributes inherited from SCR_ServicePointComponent
static bool s_bSpawnAsOffline
 

Additional Inherited Members

- Static Public Member Functions inherited from SCR_ServicePointComponent
static void SpawnAsOffline (bool val)
 The service will not be registered on init. For an example for Free Roam building - the registration will happen once the service is fully build.
 

Detailed Description

Service providing group of defenders defined in faction. Requires SCR_EnableDefenderAction on ActionManager for players to manage its functionality.

Constructor & Destructor Documentation

◆ ~SCR_DefenderSpawnerComponent()

void SCR_DefenderSpawnerComponent.~SCR_DefenderSpawnerComponent ( )

Member Function Documentation

◆ AddSupplies()

void SCR_DefenderSpawnerComponent.AddSupplies ( float  value)

Set the spawner supplies value.

Parameters
[in]value

◆ AssignDefenderGroupDataFromOwningFaction()

void SCR_DefenderSpawnerComponent.AssignDefenderGroupDataFromOwningFaction ( )
protected

Set Defender group data from Entity catalog on owning faction.

◆ AssignSupplyComponent()

void SCR_DefenderSpawnerComponent.AssignSupplyComponent ( notnull SCR_CampaignSuppliesComponent  supplyComp)

Assign supply component to handle supplies of spawner.

Currently uses Campaign specific supplies (temporarily)

Parameters
[in]supplyComp

◆ EnableSpawning()

void SCR_DefenderSpawnerComponent.EnableSpawning ( bool  enable,
int  playerID 
)

Enable spawning of defender groups.

Parameters
[in]enablebool to enable or disable spawning
[in]playerIDid of player using this action

◆ EOnInit()

override void SCR_DefenderSpawnerComponent.EOnInit ( IEntity  owner)
protected

◆ GetFreeSlot()

SCR_EntitySpawnerSlotComponent SCR_DefenderSpawnerComponent.GetFreeSlot ( )
Returns
free slot or null if not found

◆ GetMinimumRank()

SCR_ECharacterRank SCR_DefenderSpawnerComponent.GetMinimumRank ( )
Returns

◆ GetOnDefenderGroupSpawned()

OnDefenderGroupSpawnedInvoker SCR_DefenderSpawnerComponent.GetOnDefenderGroupSpawned ( )
Returns

◆ GetPlayerDistanceState()

SCR_EDefenderSpawnerState SCR_DefenderSpawnerComponent.GetPlayerDistanceState ( )
protected
Returns
state according to current players vicinities to DefenderSpawner

◆ GetSpawnerSupplies()

float SCR_DefenderSpawnerComponent.GetSpawnerSupplies ( )

Get available supplies.

◆ GetSpawnerSupplyComponent()

SCR_CampaignSuppliesComponent SCR_DefenderSpawnerComponent.GetSpawnerSupplyComponent ( )
Returns
supply component assigned to spawner, temporary

◆ GetWaypoint()

AIWaypoint SCR_DefenderSpawnerComponent.GetWaypoint ( )
protected

◆ HandleGroup()

void SCR_DefenderSpawnerComponent.HandleGroup ( )
protected

Manages automatic group spawning.

◆ IsProxy()

bool SCR_DefenderSpawnerComponent.IsProxy ( )
Returns

◆ IsSpawningEnabled()

bool SCR_DefenderSpawnerComponent.IsSpawningEnabled ( )

Returns true if spawner is currently activated.

◆ OnFactionChanged()

override void SCR_DefenderSpawnerComponent.OnFactionChanged ( FactionAffiliationComponent  owner,
Faction  previousFaction,
Faction  faction 
)
protected

◆ OnMoveFinished()

void SCR_DefenderSpawnerComponent.OnMoveFinished ( SCR_AIActionBase  action)
protected

◆ OnMovingCharacterDeath()

void SCR_DefenderSpawnerComponent.OnMovingCharacterDeath ( SCR_CharacterControllerComponent  characterController,
IEntity  killerEntity,
Instigator  killer 
)
protected

◆ OnPostInit()

override void SCR_DefenderSpawnerComponent.OnPostInit ( IEntity  owner)
protected

◆ ReinforceGroup()

void SCR_DefenderSpawnerComponent.ReinforceGroup ( )
protected

Refills AI's in defender group.

◆ SetWaypoint()

void SCR_DefenderSpawnerComponent.SetWaypoint ( SCR_AIWaypoint  wp)

Assign custom waypoint to be used by defender group.

Parameters
[in]wp

◆ SpawnGroup()

void SCR_DefenderSpawnerComponent.SpawnGroup ( )
protected

Spawn defender AI group from faction prefab.

Also handles price per spawned unit. Should some units be despawned because of player distance, spawn price will be reduced by it

◆ SpawnUnit()

void SCR_DefenderSpawnerComponent.SpawnUnit ( ResourceName  unitResource,
bool  consumeSupplies = true 
)
protected

Spawn Units with given ResourceName and assign it to group.

Parameters
[in]unitResourceresource name of unit to be spawned
[in]consumeSuppliesif false, spawning this unit won't consume supplies. Is used for respawning units, which were previously despawned to save performance

◆ UserRankCheck()

bool SCR_DefenderSpawnerComponent.UserRankCheck ( IEntity  user)
Parameters
[in]user
Returns

Member Data Documentation

◆ m_aAllowedLabels

ref array<EEditableEntityLabel> SCR_DefenderSpawnerComponent.m_aAllowedLabels
protected

◆ m_aIgnoredLabels

ref array<EEditableEntityLabel> SCR_DefenderSpawnerComponent.m_aIgnoredLabels
protected

◆ m_AIgroup

SCR_AIGroup SCR_DefenderSpawnerComponent.m_AIgroup
protected

◆ m_aOldUnits

ref array<IEntity> SCR_DefenderSpawnerComponent.m_aOldUnits
protected

◆ m_aPreviousGroups

ref array<SCR_AIGroup> SCR_DefenderSpawnerComponent.m_aPreviousGroups
protected

◆ m_aRefillQueue

ref array<ResourceName> SCR_DefenderSpawnerComponent.m_aRefillQueue
protected

◆ m_aUnitsOnMove

ref array<ref Tuple3<SCR_AIActionBase, AIAgent, WorldTimestamp> > SCR_DefenderSpawnerComponent.m_aUnitsOnMove = {}
protected

◆ m_bEnableSpawning

bool SCR_DefenderSpawnerComponent.m_bEnableSpawning
protected

◆ m_bSuppliesConsumptionEnabled

bool SCR_DefenderSpawnerComponent.m_bSuppliesConsumptionEnabled
protected

◆ m_eMinimumRankForEnabling

SCR_ECharacterRank SCR_DefenderSpawnerComponent.m_eMinimumRankForEnabling
protected

◆ m_fMinHostilePlayerDistance

float SCR_DefenderSpawnerComponent.m_fMinHostilePlayerDistance
protected

◆ m_fNextRespawnTime

WorldTimestamp SCR_DefenderSpawnerComponent.m_fNextRespawnTime
protected

◆ m_fRespawnDelay

float SCR_DefenderSpawnerComponent.m_fRespawnDelay
protected

◆ m_GroupEntry

SCR_EntityCatalogEntry SCR_DefenderSpawnerComponent.m_GroupEntry
protected

◆ m_GroupSpawningManager

SCR_SpawnerAIGroupManagerComponent SCR_DefenderSpawnerComponent.m_GroupSpawningManager
protected

◆ m_iCustomSupplies

int SCR_DefenderSpawnerComponent.m_iCustomSupplies
protected

◆ m_iDespawnedGroupMembers

int SCR_DefenderSpawnerComponent.m_iDespawnedGroupMembers
protected

◆ m_OnDefenderGroupSpawned

ref OnDefenderGroupSpawnedInvoker SCR_DefenderSpawnerComponent.m_OnDefenderGroupSpawned
protected

◆ m_ResourceComponent

SCR_ResourceComponent SCR_DefenderSpawnerComponent.m_ResourceComponent
protected

◆ m_RplComponent

RplComponent SCR_DefenderSpawnerComponent.m_RplComponent
protected

◆ m_SupplyComponent

SCR_CampaignSuppliesComponent SCR_DefenderSpawnerComponent.m_SupplyComponent
protected

◆ m_Waypoint

AIWaypoint SCR_DefenderSpawnerComponent.m_Waypoint
protected

◆ SPAWN_CHECK_INTERVAL

const int SCR_DefenderSpawnerComponent.SPAWN_CHECK_INTERVAL = 1000
staticprotected

◆ SPAWN_GROUP_JOIN_TIMEOUT

const int SCR_DefenderSpawnerComponent.SPAWN_GROUP_JOIN_TIMEOUT = 20
staticprotected

◆ SPAWN_RADIUS_MAX

const int SCR_DefenderSpawnerComponent.SPAWN_RADIUS_MAX = Math.Pow(1000, 2)
staticprotected

◆ SPAWN_RADIUS_MIN

const int SCR_DefenderSpawnerComponent.SPAWN_RADIUS_MIN = Math.Pow(500, 2)
staticprotected

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