enum EEntityAreaType { ENTITY_AREA_TYPE_SHAPE, ENTITY_AREA_TYPE_BOX, ENTITY_AREA_TYPE_SPHERE, ENTITY_AREA_TYPE_GRAVITYVOLUME, ENTITY_AREA_TYPE_SOLID };
IEntityProxy.h
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. |
Type of an area managed by IEntityAreaProxy.
enum EEntityClassFlags { ECLF_INVISIBLE = 0x0001, ECLF_DEFAULT = 0x0002, ECLF_BBOX_SELECTION = 0x0004 };
IEntityClass.h
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. |
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 };
IEntity.h
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")
|
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. |
EEntityEvent defines all events that can be sent to an entity.
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) };
IEntity.h
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. |
Flags can be set on entity with SetFlags/GetFlags method.
enum EEntityFlagsExtended { ENTITY_FLAG_EXTENDED_AUDIO_LISTENER = BIT(0), ENTITY_FLAG_EXTENDED_NEEDS_MOVEINSIDE = BIT(2) };
IEntity.h
enum EEntityGetSetSlotFlags { ENTITY_SLOT_ACTUAL = 0x40000000 };
IEntity.h
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 };
IEntityProxy.h
Members |
Description |
ENTITY_PROXY_LAST |
Always the last entry of the enum. |
Entity proxies that can be hosted by the entity.
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) };
IEntity.h
Members |
Description |
ENTITY_SERIALIZE_PROXIES = BIT(1) |
Serialize proxies. |
ENTITY_SERIALIZE_POSITION = BIT(2) |
Serialize properties common to all entities (position, rotation, scale) |
Flags can be passed to IEntity::Serialize().
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 };
IEntityProxy.h
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 |
Flags the can be set on each of the entity object slots.
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 };
IEntity.h
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. |
Updates policy defines in which cases to call entity update function every frame.
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 };
IEntity.h
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 |
enum EPartIds { PARTID_LINKED = 30000, PARTID_CGA = 3000000, PARTID_MAX_NUM_ATTACHMENTS = MIN(sizeof(uint64)*8, PARTID_CGA/PARTID_LINKED - 1) };
IEntity.h
SpecType for entity layers. Add new bits to update. Do not just rename, cause values are used for saving levels.
enum ESpecType { eSpecType_PC = BIT(0), eSpecType_XBoxOne = BIT(1), eSpecType_PS4 = BIT(2), eSpecType_All = -1 };
IEntitySystem.h