Enfusion Script API
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
GenericComponent Interface Reference
Inheritance diagram for GenericComponent:
[legend]

Public Member Functions

proto external EntityComponentPrefabData GetComponentData (notnull IEntity ent)
 Gets GenericComponentClass descendant instance with the prefab data.
 
proto external BaseContainer GetComponentSource (notnull IEntity ent)
 Gets config container with the prefab data.
 
proto void Rpc (func method, void p0=NULL, void p1=NULL, void p2=NULL, void p3=NULL, void p4=NULL, void p5=NULL, void p6=NULL, void p7=NULL)
 Attempts to run a remote procedure call (RPC) of this instance with parameters specified in method RplRpc attribute.
 
proto external int GetEventMask ()
 Gets current eventmask of the component.
 
proto external int SetEventMask (notnull IEntity owner, int mask)
 Sets eventmask.
 
proto external int ClearEventMask (notnull IEntity owner, int mask)
 Clears bitmask.
 
proto external GenericComponent FindComponent (TypeName typeName)
 Finds first occurance of the coresponding component.
 
proto external int FindComponents (TypeName typeName, notnull array< GenericComponent > outComponents)
 Finds all occurances of the coresponding component.
 
proto external void Activate (IEntity owner)
 Activate component and calls EOnActivate().
 
proto external void Deactivate (IEntity owner)
 Deactivate component and calls EOnDectivate().
 
proto external bool IsActive ()
 Returns activity state.
 
proto external void OnTransformReset (bool isCorrection=false, vector newVelocity=vector.Zero)
 Notifies the component that a transformation of the owner entity has been discontinuously changed.
 
void _WB_SetTransform (IEntity owner, inout vector mat[4], IEntitySource src)
 Editor changed entity transformation matrix source. Do not call editor API here!
 
void _WB_OnInit (IEntity owner, inout vector mat[4], IEntitySource src)
 Called always after entity creation. It's purpose is to prepare entity for editing. Do not edit anything through editor API here because it's too early for undoable actions! Use plain BaseContainer API for changes through src parameter if needed!
 
bool _WB_CanDelete (IEntity owner, IEntitySource src)
 Editor needs to know if this entity can be deleted. Do not call editor API here!
 
bool _WB_CanRename (IEntity owner, IEntitySource src)
 Editor needs to know if this entity can be renamed. Do not call editor API here!
 
bool _WB_CanCopy (IEntity owner, IEntitySource src)
 Editor needs to know if this entity can be copied. Do not call editor API here!
 
bool _WB_CanSelect (IEntity owner, IEntitySource src)
 Editor needs to know whether this entity can be selected in scene window or not.
 
void _WB_GetBoundBox (IEntity owner, inout vector min, inout vector max, IEntitySource src)
 Editor needs to know a bound box of entity (For ray-casting, visualizers etc.). You can return any custom size you need. Do not call editor API here!
 
void _WB_SetExtraVisualiser (IEntity owner, EntityVisualizerType type, IEntitySource src)
 If entity needs to have a special visualizer instead of default one, here is the place where you can implement it. Do not call editor API here!
 
array< ref WB_UIMenuItem_WB_GetContextMenuItems (IEntity owner)
 An opportunity to append items into editor's "Component" context menu. Do not call editor API here!
 
bool _WB_OnPhysSimulPlacementBegin (IEntity owner, IEntitySource src)
 Does this entity support editing transformation using physics simulation? Do not call editor API here!
 
bool _WB_EnablePhysics (IEntity owner, IEntitySource src, bool physics)
 Prepare to edit transformation using physics simulation. Return previous status. Do not call editor API here!
 
bool _WB_OnKeyChanged (IEntity owner, BaseContainer src, string key, BaseContainerList ownerContainers, IEntity parent)
 Any property value has been changed. You can use editor API here and do some additional edit actions which will be part of the same "key changed" action.
 
void _WB_AfterWorldUpdate (IEntity owner, float timeSlice)
 Called after updating world in Workbench. The entity must be selected. You can use editor API here and do some edit actions if needed.
 
void _WB_OnContextMenu (IEntity owner, int id)
 User has chosen any of your menu item from editor's "Component" menu which you have recently provided in WB_GetContextMenuItems(). You can use editor API here and do some edit actions.
 
void _WB_OnKeyDown (IEntity owner, int keyCode)
 User pressed a key and this entity is main member of entity selection. You can use editor API here and do some edit actions which will be undoable.
 
void _WB_OnCreate (IEntity owner, IEntitySource src)
 Called after entity gets created in map during editing or when deleted entity gets restored after undo action. This event isn't called by loading map!!! If you need an event that is being called after every entity creation then use WB_OnInit instead it. You can use editor API here and do some additional edit actions which will be part of the same "create entity" action.
 
void _WB_OnParentChange (IEntity owner, IEntitySource src, IEntitySource prevParentSrc)
 Parent entity has been changed ( it's available through src->GetParent() ). prevParentSrc is a pointer to a previous parent (if any)
 
void _WB_OnDelete (IEntity owner, IEntitySource src)
 Entity is going to be deleted. You can use editor API here and do some additional edit actions which will be part of the same "entity delete" action.
 
void _WB_OnRename (IEntity owner, IEntitySource src, string oldName)
 Entity has been renamed. You can use editor API here and do some additional edit actions which will be part of the same "entity rename" action.
 
array< ref ParamEnum_WB_GetUserEnums (string varName, IEntity owner, IEntityComponentSource src)
 Possibility to get variable value choices dynamically.
 

Static Public Member Functions

static bool Preload (IEntityComponentSource src)
 

Protected Member Functions

proto external void ConnectToDiagSystem (IEntity owner)
 
proto external void DisconnectFromDiagSystem (IEntity owner)
 
void OnTransformResetImpl (TransformResetParams params)
 Script-side implementation of OnTransformReset.
 

Member Function Documentation

◆ _WB_AfterWorldUpdate()

void GenericComponent._WB_AfterWorldUpdate ( IEntity  owner,
float  timeSlice 
)

Called after updating world in Workbench. The entity must be selected. You can use editor API here and do some edit actions if needed.

◆ _WB_CanCopy()

bool GenericComponent._WB_CanCopy ( IEntity  owner,
IEntitySource  src 
)

Editor needs to know if this entity can be copied. Do not call editor API here!

◆ _WB_CanDelete()

bool GenericComponent._WB_CanDelete ( IEntity  owner,
IEntitySource  src 
)

Editor needs to know if this entity can be deleted. Do not call editor API here!

◆ _WB_CanRename()

bool GenericComponent._WB_CanRename ( IEntity  owner,
IEntitySource  src 
)

Editor needs to know if this entity can be renamed. Do not call editor API here!

◆ _WB_CanSelect()

bool GenericComponent._WB_CanSelect ( IEntity  owner,
IEntitySource  src 
)

Editor needs to know whether this entity can be selected in scene window or not.

◆ _WB_EnablePhysics()

bool GenericComponent._WB_EnablePhysics ( IEntity  owner,
IEntitySource  src,
bool  physics 
)

Prepare to edit transformation using physics simulation. Return previous status. Do not call editor API here!

◆ _WB_GetBoundBox()

void GenericComponent._WB_GetBoundBox ( IEntity  owner,
inout vector  min,
inout vector  max,
IEntitySource  src 
)

Editor needs to know a bound box of entity (For ray-casting, visualizers etc.). You can return any custom size you need. Do not call editor API here!

◆ _WB_GetContextMenuItems()

array< ref WB_UIMenuItem > GenericComponent._WB_GetContextMenuItems ( IEntity  owner)

An opportunity to append items into editor's "Component" context menu. Do not call editor API here!

◆ _WB_GetUserEnums()

array< ref ParamEnum > GenericComponent._WB_GetUserEnums ( string  varName,
IEntity  owner,
IEntityComponentSource  src 
)

Possibility to get variable value choices dynamically.

◆ _WB_OnContextMenu()

void GenericComponent._WB_OnContextMenu ( IEntity  owner,
int  id 
)

User has chosen any of your menu item from editor's "Component" menu which you have recently provided in WB_GetContextMenuItems(). You can use editor API here and do some edit actions.

◆ _WB_OnCreate()

void GenericComponent._WB_OnCreate ( IEntity  owner,
IEntitySource  src 
)

Called after entity gets created in map during editing or when deleted entity gets restored after undo action. This event isn't called by loading map!!! If you need an event that is being called after every entity creation then use WB_OnInit instead it. You can use editor API here and do some additional edit actions which will be part of the same "create entity" action.

◆ _WB_OnDelete()

void GenericComponent._WB_OnDelete ( IEntity  owner,
IEntitySource  src 
)

Entity is going to be deleted. You can use editor API here and do some additional edit actions which will be part of the same "entity delete" action.

◆ _WB_OnInit()

void GenericComponent._WB_OnInit ( IEntity  owner,
inout vector  mat[4],
IEntitySource  src 
)

Called always after entity creation. It's purpose is to prepare entity for editing. Do not edit anything through editor API here because it's too early for undoable actions! Use plain BaseContainer API for changes through src parameter if needed!

◆ _WB_OnKeyChanged()

bool GenericComponent._WB_OnKeyChanged ( IEntity  owner,
BaseContainer  src,
string  key,
BaseContainerList  ownerContainers,
IEntity  parent 
)

Any property value has been changed. You can use editor API here and do some additional edit actions which will be part of the same "key changed" action.

◆ _WB_OnKeyDown()

void GenericComponent._WB_OnKeyDown ( IEntity  owner,
int  keyCode 
)

User pressed a key and this entity is main member of entity selection. You can use editor API here and do some edit actions which will be undoable.

◆ _WB_OnParentChange()

void GenericComponent._WB_OnParentChange ( IEntity  owner,
IEntitySource  src,
IEntitySource  prevParentSrc 
)

Parent entity has been changed ( it's available through src->GetParent() ). prevParentSrc is a pointer to a previous parent (if any)

◆ _WB_OnPhysSimulPlacementBegin()

bool GenericComponent._WB_OnPhysSimulPlacementBegin ( IEntity  owner,
IEntitySource  src 
)

Does this entity support editing transformation using physics simulation? Do not call editor API here!

◆ _WB_OnRename()

void GenericComponent._WB_OnRename ( IEntity  owner,
IEntitySource  src,
string  oldName 
)

Entity has been renamed. You can use editor API here and do some additional edit actions which will be part of the same "entity rename" action.

◆ _WB_SetExtraVisualiser()

void GenericComponent._WB_SetExtraVisualiser ( IEntity  owner,
EntityVisualizerType  type,
IEntitySource  src 
)

If entity needs to have a special visualizer instead of default one, here is the place where you can implement it. Do not call editor API here!

◆ _WB_SetTransform()

void GenericComponent._WB_SetTransform ( IEntity  owner,
inout vector  mat[4],
IEntitySource  src 
)

Editor changed entity transformation matrix source. Do not call editor API here!

◆ Activate()

proto external void GenericComponent.Activate ( IEntity  owner)

Activate component and calls EOnActivate().

◆ ClearEventMask()

proto external int GenericComponent.ClearEventMask ( notnull IEntity  owner,
int  mask 
)

Clears bitmask.

Component accepts only events which has set bits in eventmask. Only bits set in the mask are cleared. See enf::EntityEvents

Parameters
maskMask of those bits, which will be cleared.
Returns
returns these bits that were set before and now are cleared.

◆ ConnectToDiagSystem()

proto external void GenericComponent.ConnectToDiagSystem ( IEntity  owner)
protected

◆ Deactivate()

proto external void GenericComponent.Deactivate ( IEntity  owner)

Deactivate component and calls EOnDectivate().

◆ DisconnectFromDiagSystem()

proto external void GenericComponent.DisconnectFromDiagSystem ( IEntity  owner)
protected

◆ FindComponent()

proto external GenericComponent GenericComponent.FindComponent ( TypeName  typeName)

Finds first occurance of the coresponding component.

Parameters
typeNametype of the component

◆ FindComponents()

proto external int GenericComponent.FindComponents ( TypeName  typeName,
notnull array< GenericComponent outComponents 
)

Finds all occurances of the coresponding component.

Parameters
typeNametype of the component
outComponentsarray to fill with selected components

◆ GetComponentData()

proto external EntityComponentPrefabData GenericComponent.GetComponentData ( notnull IEntity  ent)

Gets GenericComponentClass descendant instance with the prefab data.

◆ GetComponentSource()

proto external BaseContainer GenericComponent.GetComponentSource ( notnull IEntity  ent)

Gets config container with the prefab data.

◆ GetEventMask()

proto external int GenericComponent.GetEventMask ( )

Gets current eventmask of the component.

Returns
Returns bitmask of events the component accepts

◆ IsActive()

proto external bool GenericComponent.IsActive ( )

Returns activity state.

Returns
Returns true, if component is active.

◆ OnTransformReset()

proto external void GenericComponent.OnTransformReset ( bool  isCorrection = false,
vector  newVelocity = vector.Zero 
)

Notifies the component that a transformation of the owner entity has been discontinuously changed.

Should be called after any transformation discontinuity (right after updating the transform) e.g. by teleportation or desync-correction code so the component can react appropriately. By default, this is called automatically from GenericEntity::OnTransformReset.

The default implementation does nothing except calling OnTransformReset on the child components.

The default behavior may be changed in inherited components by overriding OnTransformResetImpl.

Parameters
isCorrection[optional] Hint that the transform was reset due to its correction (e.g. by net-code), i.e. not a placement/teleport
newVelocity[optional] Initial velocity of the owner entity after the transform reset

◆ OnTransformResetImpl()

void GenericComponent.OnTransformResetImpl ( TransformResetParams  params)
protected

Script-side implementation of OnTransformReset.

The default implementation does nothing except calling OnTransformReset on the child components.

Can be overridden to alter the default behavior. Usually, you'll want to call the base implementation somewhere in the override to preserve the recursion.

Parameters
paramsSee the TransformResetParams documentation.

◆ Preload()

static bool GenericComponent.Preload ( IEntityComponentSource  src)
static

◆ Rpc()

proto void GenericComponent.Rpc ( func  method,
void  p0 = NULL,
void  p1 = NULL,
void  p2 = NULL,
void  p3 = NULL,
void  p4 = NULL,
void  p5 = NULL,
void  p6 = NULL,
void  p7 = NULL 
)

Attempts to run a remote procedure call (RPC) of this instance with parameters specified in method RplRpc attribute.

Parameters
methodMember function to be invoked as an RPC.

◆ SetEventMask()

proto external int GenericComponent.SetEventMask ( notnull IEntity  owner,
int  mask 
)

Sets eventmask.

Component accepts only events which has set bits in eventmask. Bits are or'ed with existing bitmask. See enf::EntityEvents. When this method is called in the constructor of the component, it will not properly set the eventmask to the parent entity. You may consider OnComponentInsert event.

Parameters
maskMask of those bits, which will be set.
Returns
Returns bitmask of events the component accepts (result of mask|GetEventMask())

The documentation for this interface was generated from the following file: