Arma Reforger Script API
Loading...
Searching...
No Matches
Classes | Enumerations
Editable Entities

Editable entities. More...

Classes

interface  SCR_SlotCompositionComponent
 
interface  SCR_EditableCharacterComponent
 
interface  SCR_EditableCommentComponent
 
interface  SCR_EditableDecalComponent
 Component for managing editable decal entities. More...
 
interface  SCR_EditableDescriptorComponent
 
interface  SCR_EditableEntityComponent
 Component defining editable entity. More...
 
interface  SCR_EditableExplosiveChargeComponent
 
interface  SCR_EditableFactionComponent
 
interface  SCR_EditableGroupComponent
 
interface  SCR_EditableMineComponent
 
interface  SCR_EditablePlayerDelegateComponent
 Editable entity representing a player. More...
 
interface  SCR_EditablePreviewComponent
 
interface  SCR_EditableSpawnPointComponent
 
interface  SCR_EditableSystemComponent
 
interface  SCR_EditableTaskComponent
 
interface  SCR_EditableVehicleComponent
 
interface  SCR_EditableWaypointComponent
 
interface  SCR_EditableWorldEntityComponent
 
interface  SCR_EditableEntityBaseChildComponent
 Base class for child editable entity component. More...
 
interface  SCR_EditableEntityMaterialChildComponent
 
interface  SCR_EditableEntityVisibilityChildComponent
 
interface  SCR_EditorCameraDefaultsComponent
 Starting camera positions for the editor. More...
 
interface  SCR_EditorLinkComponent
 Link which creates replicated entity. More...
 
interface  SCR_DelegateFactionManagerComponent
 Manager of faction delegates - entities representing available factions. More...
 
interface  SCR_EditableEntityCore
 Core component to manage SCR_EditableEntityComponent. More...
 

Enumerations

enum  EEditableEntityAccessKey {
  EEditableEntityAccessKey.DEFAULT = 1 << 0 , EEditableEntityAccessKey.KEY_1 = 1 << 1 , EEditableEntityAccessKey.KEY_2 = 1 << 2 , EEditableEntityAccessKey.KEY_3 = 1 << 3 ,
  EEditableEntityAccessKey.KEY_4 = 1 << 4 , EEditableEntityAccessKey.KEY_5 = 1 << 5 , EEditableEntityAccessKey.KEY_6 = 1 << 6 , EEditableEntityAccessKey.KEY_7 = 1 << 7 ,
  EEditableEntityAccessKey.KEY_8 = 1 << 8 , EEditableEntityAccessKey.KEY_9 = 1 << 9 , EEditableEntityAccessKey.KEY_10 = 1 << 10 , EEditableEntityAccessKey.KEY_11 = 1 << 11 ,
  EEditableEntityAccessKey.KEY_12 = 1 << 12 , EEditableEntityAccessKey.KEY_13 = 1 << 13 , EEditableEntityAccessKey.KEY_14 = 1 << 14 , EEditableEntityAccessKey.KEY_15 = 1 << 15 ,
  EEditableEntityAccessKey.KEY_16 = 1 << 16 , EEditableEntityAccessKey.KEY_17 = 1 << 17 , EEditableEntityAccessKey.KEY_18 = 1 << 18 , EEditableEntityAccessKey.KEY_19 = 1 << 19 ,
  EEditableEntityAccessKey.KEY_20 = 1 << 20 , EEditableEntityAccessKey.KEY_21 = 1 << 21 , EEditableEntityAccessKey.KEY_22 = 1 << 22 , EEditableEntityAccessKey.KEY_23 = 1 << 23 ,
  EEditableEntityAccessKey.KEY_24 = 1 << 24 , EEditableEntityAccessKey.KEY_25 = 1 << 25 , EEditableEntityAccessKey.KEY_26 = 1 << 26 , EEditableEntityAccessKey.KEY_27 = 1 << 27 ,
  EEditableEntityAccessKey.KEY_28 = 1 << 28 , EEditableEntityAccessKey.KEY_29 = 1 << 29 , EEditableEntityAccessKey.KEY_30 = 1 << 30
}
 Unique entity keys. More...
 
enum  EEditableEntityFlag {
  EEditableEntityFlag.PLACEABLE = 1 << 0 , EEditableEntityFlag.VIRTUAL = 1 << 1 , EEditableEntityFlag.HAS_FACTION = 1 << 2 , EEditableEntityFlag.LOCAL = 1 << 3 ,
  EEditableEntityFlag.NON_INTERACTIVE = 1 << 4 , EEditableEntityFlag.SLOT = 1 << 5 , EEditableEntityFlag.HORIZONTAL = 1 << 6 , EEditableEntityFlag.STATIC_POSITION = 1 << 7 ,
  EEditableEntityFlag.LAYER = 1 << 8 , EEditableEntityFlag.GAME_HIERARCHY = 1 << 9 , EEditableEntityFlag.ORIENT_CHILDREN = 1 << 10 , EEditableEntityFlag.NON_DELETABLE = 1 << 11 ,
  EEditableEntityFlag.IGNORE_LAYERS = 1 << 12 , EEditableEntityFlag.INDIVIDUAL_CHILDREN = 1 << 13 , EEditableEntityFlag.NON_SERIALIZABLE = 1 << 14 , EEditableEntityFlag.HAS_AREA = 1 << 15 ,
  EEditableEntityFlag.DIRTY_HIERARCHY = 1 << 16 , EEditableEntityFlag.LINKED_CHILDREN = 1 << 17 , EEditableEntityFlag.SPAWN_UNFINISHED = 1 << 18 , EEditableEntityFlag.FREE_ROAM_BUILDING_AI = 1 << 19
}
 
enum  EEditableEntityRegister { EEditableEntityRegister.ALWAYS , EEditableEntityRegister.WHEN_SPAWNED , EEditableEntityRegister.NEVER }
 Auto-registration type. More...
 
enum  EEditableEntitySaveFlag { EEditableEntitySaveFlag.PLAYER = 1 << 0 , EEditableEntitySaveFlag.DESTROYED = 1 << 1 , EEditableEntitySaveFlag.NOT_SPAWNED = 1 << 2 }
 State of editable entity (SCR_EditableEntityComponent) saved in mission save file. More...
 
enum  EEditableEntityState {
  EEditableEntityState.UNLOCKED = 1 << 0 , EEditableEntityState.VISIBLE = 1 << 1 , EEditableEntityState.RENDERED = 1 << 2 , EEditableEntityState.ACTIVE = 1 << 3 ,
  EEditableEntityState.INTERACTIVE = 1 << 4 , EEditableEntityState.SELECTED = 1 << 5 , EEditableEntityState.FOCUSED = 1 << 6 , EEditableEntityState.HOVER = 1 << 7 ,
  EEditableEntityState.PLAYER = 1 << 8 , EEditableEntityState.COMPATIBLE_SLOT = 1 << 9 , EEditableEntityState.CURRENT_LAYER = 1 << 10 , EEditableEntityState.PREVIEW = 1 << 11 ,
  EEditableEntityState.EDITED = 1 << 12 , EEditableEntityState.PINGED = 1 << 13 , EEditableEntityState.EXTENDABLE = 1 << 14 , EEditableEntityState.DESTROYED = 1 << 15 ,
  EEditableEntityState.COMMANDED = 1 << 16 , EEditableEntityState.HIGHLIGHTED = 1 << 17 , EEditableEntityState.CURRENT_LAYER_CHILDREN = 1 << 18 , EEditableEntityState.AUTONOMOUS = 1 << 19 ,
  EEditableEntityState.BASE_BUILDING = 1 << 20
}
 State of editable entity (SCR_EditableEntityComponent). More...
 
enum  EEditableEntityType {
  EEditableEntityType.GENERIC , EEditableEntityType.GROUP , EEditableEntityType.CHARACTER , EEditableEntityType.VEHICLE ,
  EEditableEntityType.WAYPOINT , EEditableEntityType.ITEM , EEditableEntityType.COMMENT , EEditableEntityType.FACTION ,
  EEditableEntityType.TASK , EEditableEntityType.SYSTEM , EEditableEntityType.SLOT
}
 
enum  EEditorRadialMenuType { EEditorRadialMenuType.ACTIONS , EEditorRadialMenuType.COMMANDS }
 

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.

◆ 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.

◆ 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()

◆ 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)

◆ 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.

◆ 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

◆ 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)