Enfusion Script API
|
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. | |
Called after updating world in Workbench. The entity must be selected. You can use editor API here and do some edit actions if needed.
bool GenericComponent._WB_CanCopy | ( | IEntity | owner, |
IEntitySource | src | ||
) |
Editor needs to know if this entity can be copied. Do not call editor API here!
bool GenericComponent._WB_CanDelete | ( | IEntity | owner, |
IEntitySource | src | ||
) |
Editor needs to know if this entity can be deleted. Do not call editor API here!
bool GenericComponent._WB_CanRename | ( | IEntity | owner, |
IEntitySource | src | ||
) |
Editor needs to know if this entity can be renamed. Do not call editor API here!
bool GenericComponent._WB_CanSelect | ( | IEntity | owner, |
IEntitySource | src | ||
) |
Editor needs to know whether this entity can be selected in scene window or not.
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!
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!
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!
array< ref ParamEnum > GenericComponent._WB_GetUserEnums | ( | string | varName, |
IEntity | owner, | ||
IEntityComponentSource | src | ||
) |
Possibility to get variable value choices dynamically.
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 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.
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.
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!
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.
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 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)
bool GenericComponent._WB_OnPhysSimulPlacementBegin | ( | IEntity | owner, |
IEntitySource | src | ||
) |
Does this entity support editing transformation using physics simulation? Do not call editor API here!
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.
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!
void GenericComponent._WB_SetTransform | ( | IEntity | owner, |
inout vector | mat[4], | ||
IEntitySource | src | ||
) |
Editor changed entity transformation matrix source. Do not call editor API here!
proto external void GenericComponent.Activate | ( | IEntity | owner | ) |
Activate component and calls EOnActivate().
Clears bitmask.
Component accepts only events which has set bits in eventmask. Only bits set in the mask are cleared. See enf::EntityEvents
mask | Mask of those bits, which will be cleared. |
|
protected |
proto external void GenericComponent.Deactivate | ( | IEntity | owner | ) |
Deactivate component and calls EOnDectivate().
|
protected |
proto external GenericComponent GenericComponent.FindComponent | ( | TypeName | typeName | ) |
Finds first occurance of the coresponding component.
typeName | type of the component |
proto external int GenericComponent.FindComponents | ( | TypeName | typeName, |
notnull array< GenericComponent > | outComponents | ||
) |
Finds all occurances of the coresponding component.
typeName | type of the component |
outComponents | array to fill with selected components |
proto external EntityComponentPrefabData GenericComponent.GetComponentData | ( | notnull IEntity | ent | ) |
Gets GenericComponentClass descendant instance with the prefab data.
proto external BaseContainer GenericComponent.GetComponentSource | ( | notnull IEntity | ent | ) |
Gets config container with the prefab data.
proto external int GenericComponent.GetEventMask | ( | ) |
Gets current eventmask of the component.
proto external bool GenericComponent.IsActive | ( | ) |
Returns activity state.
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.
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 |
|
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.
params | See the TransformResetParams documentation. |
|
static |
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.
method | Member function to be invoked as an RPC. |
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.
mask | Mask of those bits, which will be set. |