Arma Reforger Script API
|
Editable entities. More...
Editable entities.
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.
enum 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. |
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() |
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) |
enum 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. |
enum 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 | |
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 |
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) |