Entity_Enums

EEntityAreaType Enumeration
C++
enum EEntityAreaType {
  ENTITY_AREA_TYPE_SHAPE,
  ENTITY_AREA_TYPE_BOX,
  ENTITY_AREA_TYPE_SPHERE,
  ENTITY_AREA_TYPE_GRAVITYVOLUME,
  ENTITY_AREA_TYPE_SOLID
};
File

IEntityProxy.h

Members
Members
Description
ENTITY_AREA_TYPE_SHAPE
Area type is a closed set of points forming shape.
ENTITY_AREA_TYPE_BOX
Area type is a oriented bounding box.
ENTITY_AREA_TYPE_SPHERE
Area type is a sphere.
ENTITY_AREA_TYPE_GRAVITYVOLUME
Area type is a volume around a bezier curve.
ENTITY_AREA_TYPE_SOLID
Area type is a solid which can have any geometry figure.
Description

Type of an area managed by IEntityAreaProxy.

EEntityClassFlags Enumeration
C++
enum EEntityClassFlags {
  ECLF_INVISIBLE = 0x0001,
  ECLF_DEFAULT = 0x0002,
  ECLF_BBOX_SELECTION = 0x0004
};
File

IEntityClass.h

Members
Members
Description
ECLF_INVISIBLE = 0x0001
If set this class will not be visible in editor,and entity of this class cannot be placed manually in editor.
ECLF_DEFAULT = 0x0002
If this is default entity class.
ECLF_BBOX_SELECTION = 0x0004
If set entity of this class can be selected by bounding box in the editor 3D view.
EEntityEvent Enumeration
C++
enum EEntityEvent {
  ENTITY_EVENT_XFORM = 0,
  ENTITY_EVENT_XFORM_FINISHED_EDITOR,
  ENTITY_EVENT_TIMER,
  ENTITY_EVENT_INIT,
  ENTITY_EVENT_DONE,
  ENTITY_EVENT_RETURNING_TO_POOL,
  ENTITY_EVENT_VISIBLITY,
  ENTITY_EVENT_RESET,
  ENTITY_EVENT_ATTACH,
  ENTITY_EVENT_ATTACH_THIS,
  ENTITY_EVENT_DETACH,
  ENTITY_EVENT_DETACH_THIS,
  ENTITY_EVENT_LINK,
  ENTITY_EVENT_DELINK,
  ENTITY_EVENT_HIDE,
  ENTITY_EVENT_UNHIDE,
  ENTITY_EVENT_ENABLE_PHYSICS,
  ENTITY_EVENT_PHYSICS_CHANGE_STATE,
  ENTITY_EVENT_SCRIPT_EVENT,
  ENTITY_EVENT_ENTERAREA,
  ENTITY_EVENT_LEAVEAREA,
  ENTITY_EVENT_ENTERNEARAREA,
  ENTITY_EVENT_LEAVENEARAREA,
  ENTITY_EVENT_MOVEINSIDEAREA,
  ENTITY_EVENT_MOVENEARAREA,
  ENTITY_EVENT_CROSS_AREA,
  ENTITY_EVENT_PHYS_POSTSTEP,
  ENTITY_EVENT_PHYS_BREAK,
  ENTITY_EVENT_AI_DONE,
  ENTITY_EVENT_SOUND_DONE,
  ENTITY_EVENT_NOT_SEEN_TIMEOUT,
  ENTITY_EVENT_COLLISION,
  ENTITY_EVENT_RENDER,
  ENTITY_EVENT_PREPHYSICSUPDATE,
  ENTITY_EVENT_LEVEL_LOADED,
  ENTITY_EVENT_START_LEVEL,
  ENTITY_EVENT_START_GAME,
  ENTITY_EVENT_ENTER_SCRIPT_STATE,
  ENTITY_EVENT_LEAVE_SCRIPT_STATE,
  ENTITY_EVENT_PRE_SERIALIZE,
  ENTITY_EVENT_POST_SERIALIZE,
  ENTITY_EVENT_INVISIBLE,
  ENTITY_EVENT_VISIBLE,
  ENTITY_EVENT_MATERIAL,
  ENTITY_EVENT_MATERIAL_LAYER,
  ENTITY_EVENT_ONHIT,
  ENTITY_EVENT_ANIM_EVENT,
  ENTITY_EVENT_SCRIPT_REQUEST_COLLIDERMODE,
  ENTITY_EVENT_ACTIVE_FLOW_NODE_OUTPUT,
  ENTITY_EVENT_EDITOR_PROPERTY_CHANGED,
  ENTITY_EVENT_RELOAD_SCRIPT,
  ENTITY_EVENT_ACTIVATED,
  ENTITY_EVENT_DEACTIVATED,
  ENTITY_EVENT_LAST
};
File

IEntity.h

Members
Members
Description
ENTITY_EVENT_XFORM = 0
Sent when the entity local or world transformation matrix change (position/rotation/scale). nParam[0] = combination of the EEntityXFormFlags.
ENTITY_EVENT_XFORM_FINISHED_EDITOR
Called when the entity is moved/scaled/rotated in the editor. Only send on mouseButtonUp (hence finished).
ENTITY_EVENT_TIMER
Sent when the entity timer expire. nParam[0] = TimerId, nParam[1] = milliseconds.
ENTITY_EVENT_INIT
Sent for unremovable entities when they are respawn.
ENTITY_EVENT_DONE
Sent before entity is removed.
ENTITY_EVENT_RETURNING_TO_POOL
Sent before pool entities are returned to the pool.
ENTITY_EVENT_VISIBLITY
Sent when the entity becomes visible or invisible. nParam[0] is 1 if the entity becomes visible or 0 if the entity becomes invisible.
ENTITY_EVENT_RESET
Sent to reset the state of the entity (used from Editor). nParam[0] is 1 if entering gamemode, 0 if exiting
ENTITY_EVENT_ATTACH
Sent to parent entity after child entity have been attached. nParam[0] contains ID of child entity.
ENTITY_EVENT_ATTACH_THIS
Sent to child entity after it has been attached to the parent. nParam[0] contains ID of parent entity.
ENTITY_EVENT_DETACH
Sent to parent entity after child entity have been detached. nParam[0] contains ID of child entity.
ENTITY_EVENT_DETACH_THIS
Sent to child entity after it has been detached from the parent. nParam[0] contains ID of parent entity.
ENTITY_EVENT_LINK
Sent to parent entity after child entity have been linked. nParam[0] contains IEntityLink ptr.
ENTITY_EVENT_DELINK
Sent to parent entity before child entity have been delinked. nParam[0] contains IEntityLink ptr.
ENTITY_EVENT_HIDE
Sent when the entity must be hidden.
ENTITY_EVENT_UNHIDE
Sent when the entity must become not hidden.
ENTITY_EVENT_ENABLE_PHYSICS
Sent when a physics processing for the entity must be enabled/disabled. nParam[0] == 1 physics must be enabled if 0 physics must be disabled.
ENTITY_EVENT_PHYSICS_CHANGE_STATE
Sent when a physics in an entity changes state. nParam[0] == 1 physics entity awakes, 0 physics entity get to a sleep state.
ENTITY_EVENT_SCRIPT_EVENT
Sent when script is broadcasting its events. nParam[0] = Pointer to the ASCIIZ string with the name of the script event. nParam[1] = Type of the event value from IEntityClass::EventValueType. nParam[2] = Pointer to the event value depending on the type.
ENTITY_EVENT_ENTERAREA
Sent when triggering entity enters to the area proximity, this event sent to all target entities of the area. nParam[0] = TriggerEntityId, nParam[1] = AreaId, nParam[2] = EntityId of Area
ENTITY_EVENT_LEAVEAREA
Sent when triggering entity leaves the area proximity, this event sent to all target entities of the area. nParam[0] = TriggerEntityId, nParam[1] = AreaId, nParam[2] = EntityId of Area
ENTITY_EVENT_ENTERNEARAREA
Sent when triggering entity is near to the area proximity, this event sent to all target entities of the area. nParam[0] = TriggerEntityId, nParam[1] = AreaId, nParam[2] = EntityId of Area
ENTITY_EVENT_LEAVENEARAREA
Sent when triggering entity leaves the near area within proximity region of the outside area border. nParam[0] = TriggerEntityId, nParam[1] = AreaId, nParam[2] = EntityId of Area
ENTITY_EVENT_MOVEINSIDEAREA
Sent when triggering entity moves inside the area within proximity region of the outside area border. nParam[0] = TriggerEntityId, nParam[1] = AreaId, nParam[2] = EntityId of Area
ENTITY_EVENT_MOVENEARAREA
Sent when triggering entity moves inside the area within the near region of the outside area border. nParam[0] = TriggerEntityId, nParam[1] = AreaId, nParam[2] = EntityId of Area, fParam[0] = FadeRatio (0-1)
ENTITY_EVENT_CROSS_AREA
Sent when triggering entity enters or leaves an area so all active areas of same group get notified. This event is sent to all target entities of the area.
ENTITY_EVENT_PHYS_POSTSTEP
Sent when an entity with pef_monitor_poststep receives a poststep notification (the hamdler should be thread safe!) fParam[0] = time interval
ENTITY_EVENT_PHYS_BREAK
Sent when Breakable object is broken in physics.
ENTITY_EVENT_AI_DONE
Sent when AI object of the entity finished executing current order/action.
ENTITY_EVENT_SOUND_DONE
Sent when a sound finished or was stopped playing.
ENTITY_EVENT_NOT_SEEN_TIMEOUT
Sent when an entity has not been rendered for a while (time specified via cvar "es_not_seen_timeout")
  • only if ENTITY_FLAG_SEND_NOT_SEEN_TIMEOUT is set.
ENTITY_EVENT_COLLISION
Physical collision
ENTITY_EVENT_RENDER
Called when entity is rendered (Only if ENTITY_FLAG_SEND_RENDER_EVENT is set) nParam[0] is a pointer to the current rendering SRenderParams structure.
ENTITY_EVENT_PREPHYSICSUPDATE
Called when the pre-physics update is done; fParam[0] is the frame time.
ENTITY_EVENT_LEVEL_LOADED
Called when the level loading is complete
ENTITY_EVENT_START_LEVEL
Called when the level is started
ENTITY_EVENT_START_GAME
Called when the game is started (games may start multiple times) .
ENTITY_EVENT_ENTER_SCRIPT_STATE
Called when the entity enters a script state.
ENTITY_EVENT_LEAVE_SCRIPT_STATE
Called when the entity leaves a script state.
ENTITY_EVENT_PRE_SERIALIZE
Called before we serialized the game from file.
ENTITY_EVENT_POST_SERIALIZE
Called after we serialized the game from file.
ENTITY_EVENT_INVISIBLE
Called when the entity becomes invisible.
ENTITY_EVENT_VISIBLE
Called when the entity gets out of invisibility.
ENTITY_EVENT_MATERIAL
Called when the entity material change. nParam[0] = pointer to the new IMaterial.
ENTITY_EVENT_MATERIAL_LAYER
Called when the entitys material layer mask changes.
ENTITY_EVENT_ONHIT
Called when the entity gets hits by a weapon.
ENTITY_EVENT_ANIM_EVENT
Called when an animation event (placed on animations in editor) is encountered nParam[0]: AnimEventInstance* pEventParameters
ENTITY_EVENT_SCRIPT_REQUEST_COLLIDERMODE
Called from ScriptBind_Entity when script requests to set collidermode. nParam[0]: ColliderMode
ENTITY_EVENT_ACTIVE_FLOW_NODE_OUTPUT
Called to activate some output in a flow node connected to the entity nParam[0]: Output name nParam[1] = Type of the output value from IEntityClass::EventValueType. nParam[2] = Pointer to the event value depending on the type.
ENTITY_EVENT_EDITOR_PROPERTY_CHANGED
Called in the editor when some property of the current selected entity changes
ENTITY_EVENT_RELOAD_SCRIPT
Called when a script reloading is requested and done in the editor
ENTITY_EVENT_ACTIVATED
Called when the entity is added to the list of entities that are updated.
ENTITY_EVENT_DEACTIVATED
Called when the entity is removed from the list of entities that are updated.
ENTITY_EVENT_LAST
Last entity event in list.
Description

EEntityEvent defines all events that can be sent to an entity.

EEntityFlags Enumeration
C++
enum EEntityFlags {
  ENTITY_FLAG_CASTSHADOW = BIT(1),
  ENTITY_FLAG_UNREMOVABLE = BIT(2),
  ENTITY_FLAG_GOOD_OCCLUDER = BIT(3),
  ENTITY_FLAG_NO_DECALNODE_DECALS = BIT(4),
  ENTITY_FLAG_WRITE_ONLY = BIT(5),
  ENTITY_FLAG_NOT_REGISTER_IN_SECTORS = BIT(6),
  ENTITY_FLAG_CALC_PHYSICS = BIT(7),
  ENTITY_FLAG_CLIENT_ONLY = BIT(8),
  ENTITY_FLAG_SERVER_ONLY = BIT(9),
  ENTITY_FLAG_CUSTOM_VIEWDIST_RATIO = BIT(10),
  ENTITY_FLAG_CALCBBOX_USEALL = BIT(11),
  ENTITY_FLAG_VOLUME_SOUND = BIT(12),
  ENTITY_FLAG_HAS_AI = BIT(13),
  ENTITY_FLAG_TRIGGER_AREAS = BIT(14),
  ENTITY_FLAG_NO_SAVE = BIT(15),
  ENTITY_FLAG_CAMERA_SOURCE = BIT(16),
  ENTITY_FLAG_CLIENTSIDE_STATE = BIT(17),
  ENTITY_FLAG_SEND_RENDER_EVENT = BIT(18),
  ENTITY_FLAG_NO_PROXIMITY = BIT(19),
  ENTITY_FLAG_ON_RADAR = BIT(20),
  ENTITY_FLAG_UPDATE_HIDDEN = BIT(21),
  ENTITY_FLAG_NEVER_NETWORK_STATIC = BIT(22),
  ENTITY_FLAG_IGNORE_PHYSICS_UPDATE = BIT(23),
  ENTITY_FLAG_SPAWNED = BIT(24),
  ENTITY_FLAG_SLOTS_CHANGED = BIT(25),
  ENTITY_FLAG_MODIFIED_BY_PHYSICS = BIT(26),
  ENTITY_FLAG_OUTDOORONLY = BIT(27),
  ENTITY_FLAG_SEND_NOT_SEEN_TIMEOUT = BIT(28),
  ENTITY_FLAG_RECVWIND = BIT(29),
  ENTITY_FLAG_LOCAL_PLAYER = BIT(30),
  ENTITY_FLAG_AI_HIDEABLE = BIT(31)
};
File

IEntity.h

Members
Members
Description
ENTITY_FLAG_CASTSHADOW = BIT(1)
Persistent flags (can be set from the editor).
ENTITY_FLAG_UNREMOVABLE = BIT(2)
This entity cannot be removed using IEntitySystem::RemoveEntity until this flag is cleared.
ENTITY_FLAG_CUSTOM_VIEWDIST_RATIO = BIT(10)
This entity have special custom view distance ratio (AI/Vehicles must have it).
ENTITY_FLAG_CALCBBOX_USEALL = BIT(11)
use character and objects in BBOx calculations.
ENTITY_FLAG_VOLUME_SOUND = BIT(12)
Entity is a volume sound (will get moved around by the sound proxy).
ENTITY_FLAG_HAS_AI = BIT(13)
Entity has an AI object.
ENTITY_FLAG_TRIGGER_AREAS = BIT(14)
This entity will trigger areas when it enters them.
ENTITY_FLAG_NO_SAVE = BIT(15)
This entity will not be saved.
ENTITY_FLAG_CAMERA_SOURCE = BIT(16)
This entity is a camera source.
ENTITY_FLAG_CLIENTSIDE_STATE = BIT(17)
Prevents error when state changes on the client and does not sync state changes to the client.
ENTITY_FLAG_SEND_RENDER_EVENT = BIT(18)
When set entity will send ENTITY_EVENT_RENDER every time its rendered.
ENTITY_FLAG_NO_PROXIMITY = BIT(19)
Entity will not be registered in the partition grid and can not be found by proximity queries.
ENTITY_FLAG_ON_RADAR = BIT(20)
Entity will be relevant for radar.
ENTITY_FLAG_UPDATE_HIDDEN = BIT(21)
Entity will be update even when hidden.
ENTITY_FLAG_NEVER_NETWORK_STATIC = BIT(22)
Entity should never be considered a static entity by the network system.
ENTITY_FLAG_IGNORE_PHYSICS_UPDATE = BIT(23)
Used by Editor only, (don't set).
ENTITY_FLAG_SPAWNED = BIT(24)
Entity was spawned dynamically without a class.
ENTITY_FLAG_SLOTS_CHANGED = BIT(25)
Entity's slots were changed dynamically.
ENTITY_FLAG_MODIFIED_BY_PHYSICS = BIT(26)
Entity was procedurally modified by physics.
ENTITY_FLAG_OUTDOORONLY = BIT(27)
Same as Brush->Outdoor only.
ENTITY_FLAG_SEND_NOT_SEEN_TIMEOUT = BIT(28)
Entity will be sent ENTITY_EVENT_NOT_SEEN_TIMEOUT if it is not rendered for 30 seconds.
ENTITY_FLAG_RECVWIND = BIT(29)
Receives wind.
ENTITY_FLAG_AI_HIDEABLE = BIT(31)
AI can use the object to calculate automatic hide points.
Description

Flags can be set on entity with SetFlags/GetFlags method.

EEntityFlagsExtended Enumeration
C++
enum EEntityFlagsExtended {
  ENTITY_FLAG_EXTENDED_AUDIO_LISTENER = BIT(0),
  ENTITY_FLAG_EXTENDED_NEEDS_MOVEINSIDE = BIT(2)
};
File

IEntity.h

EEntityGetSetSlotFlags Enumeration
C++
enum EEntityGetSetSlotFlags {
  ENTITY_SLOT_ACTUAL = 0x40000000
};
File

IEntity.h

EEntityProxy Enumeration
C++
enum EEntityProxy {
  ENTITY_PROXY_RENDER,
  ENTITY_PROXY_PHYSICS,
  ENTITY_PROXY_SCRIPT,
  ENTITY_PROXY_AUDIO,
  ENTITY_PROXY_AI,
  ENTITY_PROXY_AREA,
  ENTITY_PROXY_BOIDS,
  ENTITY_PROXY_BOID_OBJECT,
  ENTITY_PROXY_CAMERA,
  ENTITY_PROXY_FLOWGRAPH,
  ENTITY_PROXY_SUBSTITUTION,
  ENTITY_PROXY_TRIGGER,
  ENTITY_PROXY_ROPE,
  ENTITY_PROXY_ENTITYNODE,
  ENTITY_PROXY_USER,
  ENTITY_PROXY_LAST
};
File

IEntityProxy.h

Members
Members
Description
ENTITY_PROXY_LAST
Always the last entry of the enum.
Description

Entity proxies that can be hosted by the entity.

EEntitySerializeFlags Enumeration
C++
enum EEntitySerializeFlags {
  ENTITY_SERIALIZE_PROXIES = BIT(1),
  ENTITY_SERIALIZE_POSITION = BIT(2),
  ENTITY_SERIALIZE_ROTATION = BIT(3),
  ENTITY_SERIALIZE_SCALE = BIT(4),
  ENTITY_SERIALIZE_GEOMETRIES = BIT(5),
  ENTITY_SERIALIZE_PROPERTIES = BIT(6)
};
File

IEntity.h

Members
Members
Description
ENTITY_SERIALIZE_PROXIES = BIT(1)
Serialize proxies.
ENTITY_SERIALIZE_POSITION = BIT(2)
Serialize properties common to all entities (position, rotation, scale)
Description

Flags can be passed to IEntity::Serialize().

See Also
EEntitySlotFlags Enumeration
C++
enum EEntitySlotFlags {
  ENTITY_SLOT_RENDER = 0x0001,
  ENTITY_SLOT_RENDER_NEAREST = 0x0002,
  ENTITY_SLOT_RENDER_WITH_CUSTOM_CAMERA = 0x0004,
  ENTITY_SLOT_IGNORE_PHYSICS = 0x0008,
  ENTITY_SLOT_BREAK_AS_ENTITY = 0x0010,
  ENTITY_SLOT_RENDER_AFTER_POSTPROCESSING = 0x0020,
  ENTITY_SLOT_BREAK_AS_ENTITY_MP = 0x0040
};
File

IEntityProxy.h

Members
Members
Description
ENTITY_SLOT_RENDER = 0x0001
Draw this slot.
ENTITY_SLOT_RENDER_NEAREST = 0x0002
Draw this slot as nearest. [Rendered in camera space
ENTITY_SLOT_RENDER_WITH_CUSTOM_CAMERA = 0x0004
Draw this slot using custom camera passed as a Public ShaderParameter to the entity.
ENTITY_SLOT_IGNORE_PHYSICS = 0x0008
This slot will ignore physics events sent to it.
ENTITY_SLOT_BREAK_AS_ENTITY_MP = 0x0040
In MP this an entity that shouldn't fade or participate in network breakage
Description

Flags the can be set on each of the entity object slots.

EEntityUpdatePolicy Enumeration
C++
enum EEntityUpdatePolicy {
  ENTITY_UPDATE_NEVER,
  ENTITY_UPDATE_IN_RANGE,
  ENTITY_UPDATE_POT_VISIBLE,
  ENTITY_UPDATE_VISIBLE,
  ENTITY_UPDATE_PHYSICS,
  ENTITY_UPDATE_PHYSICS_VISIBLE,
  ENTITY_UPDATE_ALWAYS
};
File

IEntity.h

Members
Members
Description
ENTITY_UPDATE_NEVER
Never update entity every frame.
ENTITY_UPDATE_IN_RANGE
Only update entity if it is in specified range from active camera.
ENTITY_UPDATE_POT_VISIBLE
Only update entity if it is potentially visible.
ENTITY_UPDATE_VISIBLE
Only update entity if it is visible.
ENTITY_UPDATE_PHYSICS
Only update entity if it is need to be updated due to physics.
ENTITY_UPDATE_PHYSICS_VISIBLE
Only update entity if it is need to be updated due to physics or if it is visible.
ENTITY_UPDATE_ALWAYS
Always update entity every frame.
Description

Updates policy defines in which cases to call entity update function every frame.

EEntityXFormFlags Enumeration
C++
enum EEntityXFormFlags {
  ENTITY_XFORM_POS = BIT(1),
  ENTITY_XFORM_ROT = BIT(2),
  ENTITY_XFORM_SCL = BIT(3),
  ENTITY_XFORM_NO_PROPOGATE = BIT(4),
  ENTITY_XFORM_FROM_PARENT = BIT(5),
  ENTITY_XFORM_PHYSICS_STEP = BIT(13),
  ENTITY_XFORM_EDITOR = BIT(14),
  ENTITY_XFORM_TRACKVIEW = BIT(15),
  ENTITY_XFORM_TIMEDEMO = BIT(16),
  ENTITY_XFORM_NOT_REREGISTER = BIT(17),
  ENTITY_XFORM_NO_EVENT = BIT(18),
  ENTITY_XFORM_NO_SEND_TO_ENTITY_SYSTEM = BIT(19),
  ENTITY_XFORM_USER = 0x1000000
};
File

IEntity.h

Members
Members
Description
ENTITY_XFORM_FROM_PARENT = BIT(5)
When parent changes his transformation.
ENTITY_XFORM_NOT_REREGISTER = BIT(17)
An optimization flag, when set object will not be re-registered in 3D engine.
ENTITY_XFORM_NO_EVENT = BIT(18)
suppresses ENTITY_EVENT_XFORM event
EPartIds Enumeration
C++
enum EPartIds {
  PARTID_LINKED = 30000,
  PARTID_CGA = 3000000,
  PARTID_MAX_NUM_ATTACHMENTS = MIN(sizeof(uint64)*8, PARTID_CGA/PARTID_LINKED - 1)
};
File

IEntity.h

ESpecType Enumeration

SpecType for entity layers. Add new bits to update. Do not just rename, cause values are used for saving levels.

C++
enum ESpecType {
  eSpecType_PC = BIT(0),
  eSpecType_XBoxOne = BIT(1),
  eSpecType_PS4 = BIT(2),
  eSpecType_All = -1
};
File

IEntitySystem.h