Arma Reforger Explorer  1.1.0.42
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Editable Entities

Editable entities. More...

Data Structures

class  SCR_SlotCompositionComponent
 Entity composition which is supposed to fit into a slot. More...
 
class  SCR_EditableEntityComponent
 
class  SCR_EditorCameraDefaultsComponent
 
class  SCR_DelegateFactionManagerComponent
 
class  SCR_EditableEntityCore
 

Enumerations

enum  EEditableEntityAccessKey {
  DEFAULT = 1 << 0, KEY_1 = 1 << 1, KEY_2 = 1 << 2, KEY_3 = 1 << 3,
  KEY_4 = 1 << 4, KEY_5 = 1 << 5, KEY_6 = 1 << 6, KEY_7 = 1 << 7,
  KEY_8 = 1 << 8, KEY_9 = 1 << 9, KEY_10 = 1 << 10, KEY_11 = 1 << 11,
  KEY_12 = 1 << 12, KEY_13 = 1 << 13, KEY_14 = 1 << 14, KEY_15 = 1 << 15,
  KEY_16 = 1 << 16, KEY_17 = 1 << 17, KEY_18 = 1 << 18, KEY_19 = 1 << 19,
  KEY_20 = 1 << 20, KEY_21 = 1 << 21, KEY_22 = 1 << 22, KEY_23 = 1 << 23,
  KEY_24 = 1 << 24, KEY_25 = 1 << 25, KEY_26 = 1 << 26, KEY_27 = 1 << 27,
  KEY_28 = 1 << 28, KEY_29 = 1 << 29, KEY_30 = 1 << 30
}
 
enum  EEditableEntityFlag {
  PLACEABLE = 1 << 0, VIRTUAL = 1 << 1, HAS_FACTION = 1 << 2, LOCAL = 1 << 3,
  NON_INTERACTIVE = 1 << 4, SLOT = 1 << 5, HORIZONTAL = 1 << 6, STATIC_POSITION = 1 << 7,
  LAYER = 1 << 8, GAME_HIERARCHY = 1 << 9, ORIENT_CHILDREN = 1 << 10, NON_DELETABLE = 1 << 11,
  IGNORE_LAYERS = 1 << 12, INDIVIDUAL_CHILDREN = 1 << 13, NON_SERIALIZABLE = 1 << 14, HAS_AREA = 1 << 15,
  DIRTY_HIERARCHY = 1 << 16, LINKED_CHILDREN = 1 << 17, SPAWN_UNFINISHED = 1 << 18, FREE_ROAM_BUILDING_AI = 1 << 19
}
 Unique flags of the entity. More...
 
enum  EEditableEntityRegister { ALWAYS, WHEN_SPAWNED, NEVER }
 
enum  EEditableEntitySaveFlag { PLAYER = 1 << 0, DESTROYED = 1 << 1, NOT_SPAWNED = 1 << 2 }
 
enum  EEditableEntityState {
  UNLOCKED = 1 << 0, VISIBLE = 1 << 1, RENDERED = 1 << 2, ACTIVE = 1 << 3,
  INTERACTIVE = 1 << 4, SELECTED = 1 << 5, FOCUSED = 1 << 6, HOVER = 1 << 7,
  PLAYER = 1 << 8, COMPATIBLE_SLOT = 1 << 9, CURRENT_LAYER = 1 << 10, PREVIEW = 1 << 11,
  EDITED = 1 << 12, PINGED = 1 << 13, EXTENDABLE = 1 << 14, DESTROYED = 1 << 15,
  COMMANDED = 1 << 16, HIGHLIGHTED = 1 << 17, CURRENT_LAYER_CHILDREN = 1 << 18, AUTONOMOUS = 1 << 19,
  BASE_BUILDING = 1 << 20
}
 
enum  EEditableEntityType {
  GENERIC, GROUP, CHARACTER, VEHICLE,
  WAYPOINT, ITEM, COMMENT, FACTION,
  TASK, SYSTEM, SLOT
}
 Defines type of SCR_EditableEntityComponent. Assigned automatically based on IEntity inheritance. More...
 
enum  EEditorRadialMenuType { ACTIONS, COMMANDS }
 Unique radial menus used in the editor, radialmenus can use the same component for data handeling, this allows them to be categorized by enum type instead. More...
 

Functions

SCR_EditableCommentComponentClass SCR_EditableEntityComponentClass Attribute (category:"Comment", defvalue:"1 1 1 1")
 
SCR_EditableDescriptorComponentClass SCR_EditableSystemComponentClass Attribute ("300", UIWidgets.Slider, "Detect locations within this radius.", params:"0 10000 1")] protected float m_fMaxLocationSize
 Editable entity which can contain location description. More...
 
SCR_EditableFactionComponentClass SCR_EditableEntityComponentClass Attribute ()] protected ref array< ref SCR_ArsenalItemCountConfig > m_MaxCountPerItemType
 Special configuration for editable faction. More...
 
SCR_EditableMineComponentClass SCR_EditableSystemComponentClass OnPostInit (IEntity owner)
 Editable Mine. More...
 
SCR_EditablePlayerDelegateComponentClass SCR_EditableEntityComponentClass RplProp (onRplName:"OnRplPlayerID")
 
SCR_EditableWaypointComponentClass SCR_EditableEntityComponentClass RplProp (onRplName:"OnPreWaypointIdRpl")
 Special configuration for editable waypoint. More...
 
SCR_EditableEntityBaseChildComponentClass ScriptComponentClass Attribute ("0", UIWidgets.Flags, "", enums:ParamEnumArray.FromEnum(EEditableEntityState))] protected EEditableEntityState m_State
 
SCR_EditableEntityMaterialChildComponentClass SCR_EditableEntityBaseChildComponentClass Attribute ("", UIWidgets.ResourcePickerThumbnail, "", "emat")] private ResourceName m_DefaultMaterial
 Change material based on specific states. More...
 
SCR_EditableEntityVisibilityChildComponentClass SCR_EditableEntityBaseChildComponentClass EOnStateChanged (EEditableEntityState states, EEditableEntityState changedState, bool toSet)
 Show editable entity only when its state is RENDERED. More...
 

Variables

SCR_EditableCharacterComponentClass m_Agent
 Special configuration for editable character. More...
 
SCR_EditableDecalComponentClass m_Decal
 
SCR_EditableGroupComponentClass m_Group
 Special configuration for editable group. More...
 
SCR_EditablePreviewComponentClass m_SourceEntity
 Special configuration to show icon of SCR_BasePreviewEntity ghost preview. More...
 
SCR_EditableSpawnPointComponentClass m_SpawnPoint
 Editable SCR_SpawnPoint. More...
 
SCR_EditableSystemComponentClass m_FactionAffiliationComponent
 Editable entity which can contain location description. More...
 
SCR_EditableTaskComponentClass m_Task
 Editable SCR_BaseTask. More...
 
SCR_EditableVehicleComponentClass m_CompartmentManager
 Special configuration for editable wehicle. More...
 
SCR_EditableWorldEntityComponentClass m_OwnerLink
 Editable world entity, managed by SCR_WorldEntityDelegateEditorComponent. More...
 
SCR_EditorLinkComponentClass s_bIgnoreSpawning
 

Detailed Description

Editable entities.

Enumeration Type Documentation

◆ EEditableEntityAccessKey

Unique entity keys. For editor users to edit or even see an entity, at least one of their editor keys must match the entity's keys. For example, if the entity has KEY_1 and KEY_2, while the editor has KEY_2 and KEY_8, the entity will be available, since both have KEY_2.

Enumerator
DEFAULT 

Unless changed manually, all entities have this key set by default.

KEY_1 

Custom key 1.

KEY_2 

Custom key 2.

KEY_3 

Custom key 3.

KEY_4 

Custom key 4.

KEY_5 

Custom key 5.

KEY_6 

Custom key 6.

KEY_7 

Custom key 7.

KEY_8 

Custom key 8.

KEY_9 

Custom key 9.

KEY_10 

Custom key 10.

KEY_11 

Custom key 11.

KEY_12 

Custom key 12.

KEY_13 

Custom key 13.

KEY_14 

Custom key 14.

KEY_15 

Custom key 15.

KEY_16 

Custom key 16.

KEY_17 

Custom key 17.

KEY_18 

Custom key 18.

KEY_19 

Custom key 19.

KEY_20 

Custom key 20.

KEY_21 

Custom key 21.

KEY_22 

Custom key 22.

KEY_23 

Custom key 23.

KEY_24 

Custom key 24.

KEY_25 

Custom key 25.

KEY_26 

Custom key 26.

KEY_27 

Custom key 27.

KEY_28 

Custom key 28.

KEY_29 

Custom key 29.

KEY_30 

Custom key 30.

Definition at line 8 of file EEditableEntityAccessKey.c.

◆ EEditableEntityFlag

Unique flags of the entity.

Enumerator
PLACEABLE 

Entity is not available in the content browser (read by class EditableEntityCollector, not in run-time)

VIRTUAL 

Entity is represented by virtual objects that have to be updated.

HAS_FACTION 

Entity can have faction assigned.

LOCAL 

Entity is not a legit editable entity, but merely a light-weight preview posing as an editable entity.

NON_INTERACTIVE 

Entity cannot be selected and transformed.

SLOT 

When extending the entity with other entities, check also for prefab parents (slots usually inherit from base classes for cross-compatibility)

HORIZONTAL 

Don't orient the entity to terrain normal when transforming.

STATIC_POSITION 

Entity can be placed only on its pre-defined position.

LAYER 

Can the entity be 'entered' as a layer?

GAME_HIERARCHY 

Should the orignal game hierarchy be preserved instead of flattened upon init?

ORIENT_CHILDREN 

When transforming the entity, children wil be oriented to terrain instead of being glued to the entity.

NON_DELETABLE 

Entity cannot be deleted.

IGNORE_LAYERS 

When enabled, the entity will be shown even when not in current layer.

INDIVIDUAL_CHILDREN 

Entity children can be interacted with individually, even when the entity is not the current layer.

NON_SERIALIZABLE 

When enabled, entity will not be serialized when session is saved.

HAS_AREA 

Entity has an area, e.g., a trigger or a spawn point.

DIRTY_HIERARCHY 

Entity was changed by the user.

LINKED_CHILDREN 

Entity spawns children using SCR_EditorLinkComponent.

SPAWN_UNFINISHED 

Should entity spawning be handled by Editor or some external system.

FREE_ROAM_BUILDING_AI 

AI spawned by Free Roam Building.

Definition at line 5 of file EEditableEntityFlag.c.

◆ EEditableEntityRegister

Auto-registration type. When SCR_EditableEntityComponent is created, this decides whether it should be added to the list of editable entities or not. When registered, this value is set to -1, which then marks the entity is registered. Upon unregistering, the value is set to ALWAYS,

Enumerator
ALWAYS 

Entity is always registered automatically.

WHEN_SPAWNED 

Entity is registered only when spawned dynamically, not when present in the world from the beginning.

NEVER 

Entity is never registered automatically, it must be done manually using SCR_EditableEntityComponent.Register()

Definition at line 10 of file EEditableEntityRegister.c.

◆ EEditableEntitySaveFlag

State of editable entity (SCR_EditableEntityComponent) saved in mission save file.

Not related to EEditableEntityState, although there may be overlapping values.

Enumerator
PLAYER 

Entity is a player.

DESTROYED 

Entity was destroyed.

NOT_SPAWNED 

Children that were supposed to be spawned by SCR_EditorLinkComponent were not spawned yet (e.g., in Conflict compositions)

Definition at line 9 of file EEditableEntitySaveFlag.c.

◆ EEditableEntityState

State of editable entity (SCR_EditableEntityComponent).

Entities of each state are managed by SCR_EntitiesManagerEditorComponent.

There is a strict order in which entities of various states are nested. For example, ACTIVE entity is always VISIBLE and UNLOCKED.

States on the same level can overlap, e.g., ACTIVE entity can also be RENDERED.

Enumerator
UNLOCKED 

Entity keys are matching editor keys.

VISIBLE 

Entity is marked as visible (SCR_EditableEntityComponent.SetVisible())

RENDERED 

Entity is within its rendering distance or is SELECTED.

ACTIVE 

Entity is in the current layer or one if its children.

INTERACTIVE 

Entity is directly in the current layer.

SELECTED 

Entity is selected.

FOCUSED 

Entity is focused (as opposed to HOVER, multiple entities can be focused, e.g., when hovering over a composition)

HOVER 

Entity is under cursor (only one entity can be hovered on at once)

PLAYER 

Entity is a player.

COMPATIBLE_SLOT 

Entity is a slot compatible with currently transformed/placed entity.

CURRENT_LAYER 

Current layer entity (only one entity can be current at once)

PREVIEW 

Local preview.

EDITED 

Currently edited entities.

PINGED 

Entity pinged by players.

EXTENDABLE 

Entity can be extended by another entity.

DESTROYED 

Entity is destroyed / dead.

COMMANDED 

Entities ready to be commanded.

HIGHLIGHTED 

Entity requires player's attention.

CURRENT_LAYER_CHILDREN 

Only direct children of current layer.

AUTONOMOUS 

AI is behaving autonomously and may ignore orders.

BASE_BUILDING 

Entities part of current base building mode.

Definition at line 37 of file EEditableEntityState.c.

◆ EEditableEntityType

Defines type of SCR_EditableEntityComponent. Assigned automatically based on IEntity inheritance.

Enumerator
GENERIC 

Default entity type (inherited from GenericEntity)

GROUP 

AI Group (inherited from AIGroup)

CHARACTER 

Human character (inherited from ChimeraCharacter)

VEHICLE 

Vehicle with crew slots inside (inherited from Vehicle)

WAYPOINT 

AI Waypoint (inherited from AIWaypoint)

ITEM 

Inventory item.

COMMENT 

Comment visible only in the editor.

FACTION 

Faction registered in FactionManager.

TASK 
SYSTEM 

Player task (inherited from SCR_BaseTask)

SLOT 

Scripted mechanics.

Editor slots for composition building

Definition at line 5 of file EEditableEntityType.c.

◆ EEditorRadialMenuType

Unique radial menus used in the editor, radialmenus can use the same component for data handeling, this allows them to be categorized by enum type instead.

Enumerator
ACTIONS 

Action menu used for context actions (neutralize, heal, delete)

COMMANDS 

Command menu which will instantly set the selected command (move, defend)

Definition at line 5 of file EEditorRadialMenuType.c.

Function Documentation

◆ Attribute() [1/5]

SCR_EditableEntityMaterialChildComponentClass SCR_EditableEntityBaseChildComponentClass Attribute ( ""  ,
UIWidgets.  ResourcePickerThumbnail,
""  ,
"emat"   
)

Change material based on specific states.

◆ Attribute() [2/5]

SCR_EditableEntityBaseChildComponentClass ScriptComponentClass Attribute ( "0"  ,
UIWidgets.  Flags,
""  ,
enums:ParamEnumArray.  FromEnumEEditableEntityState 
)

Base class for child editable entity component.

When this component is attached to editable entity or one of its children in hierarchy (default hierarchy, not editor one), it will receive events when state of the editable entity changes. Used to manage visualization of entity avatar's, e.g., to show virtual entity and change its color when it's selected.

◆ Attribute() [3/5]

SCR_EditableDescriptorComponentClass SCR_EditableSystemComponentClass Attribute ( "300"  ,
UIWidgets.  Slider,
"Detect locations within this radius."  ,
params:"0 10000 1"   
)

Editable entity which can contain location description.

◆ Attribute() [4/5]

Special configuration for editable faction.

Special configuration for editable faction.

◆ Attribute() [5/5]

SCR_EditableCommentComponentClass SCR_EditableEntityComponentClass Attribute ( category:"Comment"  ,
defvalue:"1 1 1 1"   
)

Apply custom attributes on given text widget.

Parameters
textWidgetModified text

Definition at line 11 of file SCR_EditableCommentComponent.c.

◆ EOnStateChanged()

Show editable entity only when its state is RENDERED.

Event called every time state of editable entity changes.

Parameters
[in]statescurrently active states
[in]changedStatechanged state
[in]toSettrue if the state was enabled, false if it was disabled

Definition at line 12 of file SCR_EditableEntityVisibilityChildComponent.c.

◆ OnPostInit()

Editable Mine.

Called on PostInit when all components are added.

Called after all components are initialized.

Parameters
ownerEntity this component is attached to.

Returns XP reward skill

Parameters
[in]reward
Returns

Definition at line 12 of file SCR_EditableMineComponent.c.

◆ RplProp() [1/2]

SCR_EditableWaypointComponentClass SCR_EditableEntityComponentClass RplProp ( onRplName:"OnPreWaypointIdRpl"  )

Special configuration for editable waypoint.

Definition at line 11 of file SCR_EditableWaypointComponent.c.

◆ RplProp() [2/2]

Editable entity representing a player. Used to guarantee player representation even when controlled entity is not present (e.g., player is dead)

Definition at line 12 of file SCR_EditablePlayerDelegateComponent.c.

Variable Documentation

◆ m_Agent

Special configuration for editable character.

◆ m_CompartmentManager

SCR_EditableVehicleComponentClass m_CompartmentManager

Special configuration for editable wehicle.

◆ m_Decal

Component for managing editable decal entities. It handles changing decal transformation. Moving or rotating DecalEntity has no effect ont he decal itself, so the component deletes existing decal and creates a new one with the new transformation.

How to configure prefab with this component:

  1. Create GenericEntity
  2. Add this component to it
  3. Add exactly one child DecalEntity from prefab (must be prefab, otherwise it won't work)
  4. Add a hierargy component to the parent and child
  5. Change child position / rotation / scale to arrange the decal correctly. Do not change any other attributes, they would be lost when the editable entity is modified in run-time.

◆ m_FactionAffiliationComponent

SCR_EditableSystemComponentClass m_FactionAffiliationComponent

Editable entity which can contain location description.

◆ m_Group

Special configuration for editable group.

◆ m_OwnerLink

Editable world entity, managed by SCR_WorldEntityDelegateEditorComponent.

◆ m_SourceEntity

Special configuration to show icon of SCR_BasePreviewEntity ghost preview.

◆ m_SpawnPoint

◆ m_Task

◆ s_bIgnoreSpawning

SCR_EditorLinkComponentClass s_bIgnoreSpawning

Link which creates replicated entity. To be use in composition prefabs which cannot contain nested replicated entities;