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

Core component to manage SCR_EditableEntityComponent. More...

Inheritance diagram for SCR_EditableEntityCore:
[legend]

Public Member Functions

void AddToRoot (SCR_EditableEntityComponent entity)
 
void RemoveFromRoot (SCR_EditableEntityComponent entity)
 
void RegisterEntity (SCR_EditableEntityComponent entity)
 
void UnRegisterEntity (SCR_EditableEntityComponent entity, IEntity owner=null)
 
void AddOrphan (RplId parentId, RplId orphanId)
 Add orphaned entity.
 
int RemoveOrphans (RplId parentId, out notnull array< SCR_EditableEntityComponent > outOrphans)
 Remove orphaned entities belonging to given parent.
 
void GetAllEntities (out notnull set< SCR_EditableEntityComponent > entities, bool onlyDirect=false, bool skipIgnored=false)
 Get all entities.
 
void GetAllEntities (out notnull set< SCR_EditableEntityComponent > entities, EEditableEntityAccessKey accessKey)
 Get all editable entities with specified access keys.
 
SCR_EditableEntityComponent FindNearestEntity (vector pos, EEditableEntityType type, EEditableEntityFlag flags=0, bool onlyDirect=true)
 Find nearest entity to given position.
 
SCR_EditableEntityInteraction GetEntityInteraction (EEditableEntityType type)
 Get interaction class for given entity type.
 
bool GetEntityCanBeControlled (EEditableEntityType type)
 Check if entity can be controlled by player, used for delaying budget update/AI check.
 
EEditableEntityBudget GetBudgetForEntityType (EEditableEntityType entityType)
 
void GetBudgets (out notnull array< ref SCR_EditableEntityCoreBudgetSetting > budgets)
 Get all entity budget settings.
 
bool GetBudget (EEditableEntityBudget budgetType, out SCR_EditableEntityCoreBudgetSetting budgetSettings)
 Get current budget settings of given type.
 
void GetLabelGroups (out notnull array< ref SCR_EditableEntityCoreLabelGroupSetting > labelGroups)
 Get all entity label group settings.
 
int GetLabelGroupOrder (EEditableEntityLabelGroup groupLabel)
 Get the order of the given group type.
 
bool GetLabelGroupType (EEditableEntityLabel label, out EEditableEntityLabelGroup labelGroup)
 Get group enum value of passed entity label.
 
bool GetLabelsOfGroup (EEditableEntityLabelGroup groupType, out notnull array< SCR_EditableEntityCoreLabelSetting > labels)
 Get all label settings of the passed label group.
 
bool GetLabelUIInfo (EEditableEntityLabel entityLabel, out SCR_UIInfo uiInfo)
 Get UI info of passed entity label.
 
bool GetLabelUIInfoIfValid (EEditableEntityLabel entityLabel, EEditorMode currentMode, out SCR_UIInfo uiInfo)
 Get UI info of passed entity label if the label is valid to display.
 
SCR_EditableEntityCampaignBuildingModeLabelData GetBuildModeLabelData (EEditableEntityLabel entityLabel)
 Get UI infos and Linked Conflict service point of passed entity label for BuildMode specific Labels Will ignore any non-buildmode labels as well as any build mode labels that have neither UIInfo nor linked Conflict service point.
 
int GetCampaignBuildingModeLabelsData (notnull array< EEditableEntityLabel > entityLabels, notnull out array< ref SCR_EditableEntityCampaignBuildingModeLabelData > validBuildmodeLabelData)
 Get UI infos and Linked Conflict service point of all passed entity labels for BuildMode specific Labels Will ignore any non-buildmode labels as well as any build mode labels that have neither UIInfo nor linked Conflict service point.
 
SCR_UIInfo GetBuildModeLabelUIInfo (EEditableEntityLabel entityLabel)
 Get UI info of passed entity label for BuildMode labels.
 
SCR_EServicePointType GetBuildModeLabelLinkedConflictService (EEditableEntityLabel entityLabel)
 Get linked conflict service point of passed entity label for BuildMode labels.
 
int GetLabelOrder (EEditableEntityLabel entityLabel)
 Get specific label order.
 
void OrderLabels (inout notnull array< EEditableEntityLabel > labels)
 Get a label array and order it according to group and label index.
 
void LoadSettings (SCR_EditableEntityComponent entity)
 Load global settings for given entity.
 
SCR_EditableEntityCoreTypeSetting GetSettings (SCR_EditableEntityComponent entity)
 Get global settings for given entity.
 
float GetPlayerDrawDistanceSq (bool isInVehicle)
 Get draw distance override value for player characters.
 
void Log ()
 Print out the hierarchy of all editable entities.
 
void UpdateBudgets (SCR_EditableEntityComponent entity, bool added, IEntity owner=null)
 
override void OnUpdate (float timeSlice)
 
override void OnGameStart ()
 
override void OnGameEnd ()
 
void SCR_EditableEntityCore ()
 

Public Attributes

ref map< RplId, ref array< RplId > > m_OrphanEntityIds = new map<RplId, ref array<RplId>>()
 
ref ScriptInvoker Event_OnEntityRegistered = new ScriptInvoker
 Called when an entity is made editable.
 
ref ScriptInvoker Event_OnEntityUnregistered = new ScriptInvoker
 Called when an entity is made not editable.
 
ref ScriptInvoker Event_OnEntityRefreshed = new ScriptInvoker
 Called when manual refresh of the entity is triggered.
 
ref ScriptInvoker Event_OnParentEntityChanged = new ScriptInvoker
 Called when entity is changes parent.
 
ref ScriptInvoker Event_OnEntityAccessKeyChanged = new ScriptInvoker
 Called when entity access key is modified.
 
ref ScriptInvoker Event_OnEntityVisibilityChanged = new ScriptInvoker
 Called when entity access keys are updated.
 
ref ScriptInvoker Event_OnEntityTransformChanged = new ScriptInvoker
 Called when entity transformation is changed by the editor.
 
ref ScriptInvoker Event_OnEntityTransformChangedServer = new ScriptInvoker
 Called when entity transformation is changed by the editor only server only. Sends EditableEntity and Prev ETransformMode.
 
ref ScriptInvoker_EntityCoreBudgetUpdatedEvent Event_OnEntityBudgetUpdated = new ScriptInvoker_EntityCoreBudgetUpdatedEvent()
 Called when entity budget is updated.
 
ref ScriptInvoker Event_OnEntityExtendedChange = new ScriptInvoker
 Called when entity is extended or cease to be extended.
 

Protected Member Functions

void UpdateBudgetForEntity (SCR_EditableEntityComponent entity, bool added, IEntity owner)
 
void UpdateBudget (EEditableEntityBudget budgetType, bool added, SCR_EditableEntityComponent entity, SCR_EntityBudgetValue budgetCost=null)
 

Protected Attributes

float m_fPlayerDrawDistance
 
float m_fPlayerVehicleDistanceModifier
 

Detailed Description

Core component to manage SCR_EditableEntityComponent.

The list of editable entities tracked here is local!

Examples
d:/jenkins/workspace/ar_data_branches_stable_1.2.0/A4Data/scripts/Game/Editor/Containers/EditableEntityFilters/SCR_RenderedEditableEntityFilter.c.

Constructor & Destructor Documentation

◆ SCR_EditableEntityCore()

void SCR_EditableEntityCore.SCR_EditableEntityCore ( )

Member Function Documentation

◆ AddOrphan()

void SCR_EditableEntityCore.AddOrphan ( RplId  parentId,
RplId  orphanId 
)

Add orphaned entity.

This can happen when an entity is intialised, but its parent was not yet streamed in. In such case the entity is added to the list of orphans. Once the parent is initialised, it will be added to it.

Parameters
parentIdReplication ID of the parent entity
parentIdReplication ID of the orphan entity

◆ AddToRoot()

void SCR_EditableEntityCore.AddToRoot ( SCR_EditableEntityComponent  entity)
Parameters
entity

◆ FindNearestEntity()

SCR_EditableEntityComponent SCR_EditableEntityCore.FindNearestEntity ( vector  pos,
EEditableEntityType  type,
EEditableEntityFlag  flags = 0,
bool  onlyDirect = true 
)

Find nearest entity to given position.

Parameters
posPosition from which the distance is measured
typeRequired entity type
flagsRequired entity flags
onlyDirectTrue to scan only root entities, false to scan all editable entities in the world
Returns
Editable entity

◆ GetAllEntities() [1/2]

void SCR_EditableEntityCore.GetAllEntities ( out notnull set< SCR_EditableEntityComponent entities,
bool  onlyDirect = false,
bool  skipIgnored = false 
)

Get all entities.

Parameters
[out]entitiesArray to be filled with child entities
onlyDirectWhen true, only the direct descendants are returned, otherwise all children, children of children etc. are returned.
skipIgnoredWhen true, entities flagged by IGNORE_LAYERS will not be included in the list

◆ GetAllEntities() [2/2]

void SCR_EditableEntityCore.GetAllEntities ( out notnull set< SCR_EditableEntityComponent entities,
EEditableEntityAccessKey  accessKey 
)

Get all editable entities with specified access keys.

Parameters
[out]entitiesArray to be filled with editable entities
accessKeyAccess key. Only entities with at least one compatible key will be returned.

◆ GetBudget()

bool SCR_EditableEntityCore.GetBudget ( EEditableEntityBudget  budgetType,
out SCR_EditableEntityCoreBudgetSetting  budgetSettings 
)

Get current budget settings of given type.

Parameters
[out]SCR_EditableEntityCoreBudgetSetting

◆ GetBudgetForEntityType()

EEditableEntityBudget SCR_EditableEntityCore.GetBudgetForEntityType ( EEditableEntityType  entityType)
Parameters
entityType
Returns

◆ GetBudgets()

void SCR_EditableEntityCore.GetBudgets ( out notnull array< ref SCR_EditableEntityCoreBudgetSetting budgets)

Get all entity budget settings.

Parameters
[out]Arraywith entity budget settings

◆ GetBuildModeLabelData()

SCR_EditableEntityCampaignBuildingModeLabelData SCR_EditableEntityCore.GetBuildModeLabelData ( EEditableEntityLabel  entityLabel)

Get UI infos and Linked Conflict service point of passed entity label for BuildMode specific Labels Will ignore any non-buildmode labels as well as any build mode labels that have neither UIInfo nor linked Conflict service point.

Parameters
entityLabellabel to get data from
Returns
A class with specific build mode label data. Which has such info as: Label, UiInfo and Linked Conflict service point. Null if getting the data for the specific label fails

◆ GetBuildModeLabelLinkedConflictService()

SCR_EServicePointType SCR_EditableEntityCore.GetBuildModeLabelLinkedConflictService ( EEditableEntityLabel  entityLabel)

Get linked conflict service point of passed entity label for BuildMode labels.

Will ignore any non assigned values (-1 or less)

Parameters
entityLabellabel to get data from
Returns
Linked conflict service point

◆ GetBuildModeLabelUIInfo()

SCR_UIInfo SCR_EditableEntityCore.GetBuildModeLabelUIInfo ( EEditableEntityLabel  entityLabel)

Get UI info of passed entity label for BuildMode labels.

Will return null if no UIInfo assigned or if not a building mode specific label

Parameters
entityLabellabel to get data from
Returns
UiInfo

◆ GetCampaignBuildingModeLabelsData()

int SCR_EditableEntityCore.GetCampaignBuildingModeLabelsData ( notnull array< EEditableEntityLabel >  entityLabels,
notnull out array< ref SCR_EditableEntityCampaignBuildingModeLabelData validBuildmodeLabelData 
)

Get UI infos and Linked Conflict service point of all passed entity labels for BuildMode specific Labels Will ignore any non-buildmode labels as well as any build mode labels that have neither UIInfo nor linked Conflict service point.

Parameters
entityLabelslabels to get data from
[out]validBuildmodeLabelDataarray of specific build mode label data. Which has such info as: Label, UiInfo and Linked Conflict service point
Returns
Count of valid build mode labels.

◆ GetEntityCanBeControlled()

bool SCR_EditableEntityCore.GetEntityCanBeControlled ( EEditableEntityType  type)

Check if entity can be controlled by player, used for delaying budget update/AI check.

Parameters
EEditableEntityTypetype of the entity to check
Returns
bool if given entity can be controlled by player

◆ GetEntityInteraction()

SCR_EditableEntityInteraction SCR_EditableEntityCore.GetEntityInteraction ( EEditableEntityType  type)

Get interaction class for given entity type.

Parameters
typeEntity type
Returns
Interaction rules

◆ GetLabelGroupOrder()

int SCR_EditableEntityCore.GetLabelGroupOrder ( EEditableEntityLabelGroup  groupLabel)

Get the order of the given group type.

Parameters
groupLabelgiven group type
Returns
order

◆ GetLabelGroups()

void SCR_EditableEntityCore.GetLabelGroups ( out notnull array< ref SCR_EditableEntityCoreLabelGroupSetting labelGroups)

Get all entity label group settings.

Parameters
[out]Arraywith current entity label groups

◆ GetLabelGroupType()

bool SCR_EditableEntityCore.GetLabelGroupType ( EEditableEntityLabel  label,
out EEditableEntityLabelGroup  labelGroup 
)

Get group enum value of passed entity label.

Parameters
EEditableEntityLabelenum value
[out]Labelgroup enum value this entity label belongs to.
Returns
True when label is part of a group and found valid result.

◆ GetLabelOrder()

int SCR_EditableEntityCore.GetLabelOrder ( EEditableEntityLabel  entityLabel)

Get specific label order.

Returns -1 if label not found

Returns
int label order.

◆ GetLabelsOfGroup()

bool SCR_EditableEntityCore.GetLabelsOfGroup ( EEditableEntityLabelGroup  groupType,
out notnull array< SCR_EditableEntityCoreLabelSetting labels 
)

Get all label settings of the passed label group.

Parameters
EEditableEntityLabelGroupenum value of group
[out]Arraywith all label settings of labels in this group
Returns
True if group has labels defined

◆ GetLabelUIInfo()

bool SCR_EditableEntityCore.GetLabelUIInfo ( EEditableEntityLabel  entityLabel,
out SCR_UIInfo  uiInfo 
)

Get UI info of passed entity label.

Parameters
EEditableEntityLabelenum value
[out]SCR_UIInfomatching the passed label enum value
Returns
True if UI Info was found and is valid

◆ GetLabelUIInfoIfValid()

bool SCR_EditableEntityCore.GetLabelUIInfoIfValid ( EEditableEntityLabel  entityLabel,
EEditorMode  currentMode,
out SCR_UIInfo  uiInfo 
)

Get UI info of passed entity label if the label is valid to display.

Parameters
EEditableEntityLabelenum value
currentModeCurrent editor mode
[out]SCR_UIInfomatching the passed label enum value
Returns
True if UI Info was found and is valid

◆ GetPlayerDrawDistanceSq()

float SCR_EditableEntityCore.GetPlayerDrawDistanceSq ( bool  isInVehicle)

Get draw distance override value for player characters.

Parameters
isInVehicle
Returns
Draw distance value

◆ GetSettings()

SCR_EditableEntityCoreTypeSetting SCR_EditableEntityCore.GetSettings ( SCR_EditableEntityComponent  entity)

Get global settings for given entity.

Parameters
entityEditable entity

◆ LoadSettings()

void SCR_EditableEntityCore.LoadSettings ( SCR_EditableEntityComponent  entity)

Load global settings for given entity.

Parameters
entityAffected entity

◆ Log()

void SCR_EditableEntityCore.Log ( )

Print out the hierarchy of all editable entities.

◆ OnGameEnd()

override void SCR_EditableEntityCore.OnGameEnd ( )

◆ OnGameStart()

override void SCR_EditableEntityCore.OnGameStart ( )

◆ OnUpdate()

override void SCR_EditableEntityCore.OnUpdate ( float  timeSlice)

◆ OrderLabels()

void SCR_EditableEntityCore.OrderLabels ( inout notnull array< EEditableEntityLabel >  labels)

Get a label array and order it according to group and label index.

Returns
[inout] labels that will be ordered

◆ RegisterEntity()

void SCR_EditableEntityCore.RegisterEntity ( SCR_EditableEntityComponent  entity)
Parameters
entity

◆ RemoveFromRoot()

void SCR_EditableEntityCore.RemoveFromRoot ( SCR_EditableEntityComponent  entity)
Parameters
entity

◆ RemoveOrphans()

int SCR_EditableEntityCore.RemoveOrphans ( RplId  parentId,
out notnull array< SCR_EditableEntityComponent outOrphans 
)

Remove orphaned entities belonging to given parent.

Parameters
parentIdReplication ID of the parent entity
[out]outOrphansArray to be filled with orphaned entities
Returns
Number of orphans

◆ UnRegisterEntity()

void SCR_EditableEntityCore.UnRegisterEntity ( SCR_EditableEntityComponent  entity,
IEntity  owner = null 
)
Parameters
entity
owner

◆ UpdateBudget()

void SCR_EditableEntityCore.UpdateBudget ( EEditableEntityBudget  budgetType,
bool  added,
SCR_EditableEntityComponent  entity,
SCR_EntityBudgetValue  budgetCost = null 
)
protected
Parameters
budgetType
added
entity
budgetCost

◆ UpdateBudgetForEntity()

void SCR_EditableEntityCore.UpdateBudgetForEntity ( SCR_EditableEntityComponent  entity,
bool  added,
IEntity  owner 
)
protected
Parameters
entity
added
owner

◆ UpdateBudgets()

void SCR_EditableEntityCore.UpdateBudgets ( SCR_EditableEntityComponent  entity,
bool  added,
IEntity  owner = null 
)
Parameters
entity
added
owner

Member Data Documentation

◆ Event_OnEntityAccessKeyChanged

ref ScriptInvoker SCR_EditableEntityCore.Event_OnEntityAccessKeyChanged = new ScriptInvoker

Called when entity access key is modified.

◆ Event_OnEntityBudgetUpdated

ref ScriptInvoker_EntityCoreBudgetUpdatedEvent SCR_EditableEntityCore.Event_OnEntityBudgetUpdated = new ScriptInvoker_EntityCoreBudgetUpdatedEvent()

Called when entity budget is updated.

◆ Event_OnEntityExtendedChange

ref ScriptInvoker SCR_EditableEntityCore.Event_OnEntityExtendedChange = new ScriptInvoker

Called when entity is extended or cease to be extended.

◆ Event_OnEntityRefreshed

ref ScriptInvoker SCR_EditableEntityCore.Event_OnEntityRefreshed = new ScriptInvoker

◆ Event_OnEntityRegistered

ref ScriptInvoker SCR_EditableEntityCore.Event_OnEntityRegistered = new ScriptInvoker

Called when an entity is made editable.

◆ Event_OnEntityTransformChanged

ref ScriptInvoker SCR_EditableEntityCore.Event_OnEntityTransformChanged = new ScriptInvoker

Called when entity transformation is changed by the editor.

◆ Event_OnEntityTransformChangedServer

ref ScriptInvoker SCR_EditableEntityCore.Event_OnEntityTransformChangedServer = new ScriptInvoker

Called when entity transformation is changed by the editor only server only. Sends EditableEntity and Prev ETransformMode.

◆ Event_OnEntityUnregistered

ref ScriptInvoker SCR_EditableEntityCore.Event_OnEntityUnregistered = new ScriptInvoker

Called when an entity is made not editable.

◆ Event_OnEntityVisibilityChanged

ref ScriptInvoker SCR_EditableEntityCore.Event_OnEntityVisibilityChanged = new ScriptInvoker

Called when entity access keys are updated.

◆ Event_OnParentEntityChanged

ref ScriptInvoker SCR_EditableEntityCore.Event_OnParentEntityChanged = new ScriptInvoker

Called when entity is changes parent.

◆ m_fPlayerDrawDistance

float SCR_EditableEntityCore.m_fPlayerDrawDistance
protected

◆ m_fPlayerVehicleDistanceModifier

float SCR_EditableEntityCore.m_fPlayerVehicleDistanceModifier
protected

◆ m_OrphanEntityIds

ref map<RplId, ref array<RplId> > SCR_EditableEntityCore.m_OrphanEntityIds = new map<RplId, ref array<RplId>>()

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