Event Handlers – Arma Reforger
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Fix link) |
Lou Montana (talk | contribs) (Some wiki formatting) |
||
Line 1: | Line 1: | ||
{{TOC|side}} | |||
== Common Event Handlers == | |||
{{Feature|informative|The following table is a list of the most useful events and is not an extensive list of each event handlers.}} | {{Feature|informative|The following table is a list of the most useful events and is not an extensive list of each event handlers.}} | ||
{| class="wikitable sortable" | {| class="wikitable sortable valign-top" | ||
! Class | |||
! | ! Event | ||
! Event | ! class="unsortable" | Description | ||
! Description | |||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnDestroyed === | |||
| | | {{Link/Enfusion|armaR|DamageManagerComponent}} | ||
| when default hitzone is set to destroyed | | when default hitzone is set to destroyed | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnADSChanged === | |||
| | | rowspan="2" | {{Link/Enfusion|armaR|CharacterControllerComponent}} | ||
| on player character which switches to ADS | | on player character which switches to ADS | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnInspectionModeChanged === | |||
| on player character which switches in/out of inspection mode | | on player character which switches in/out of inspection mode | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnMagazineCountChanged === | |||
| | | {{Link/Enfusion|armaR|InventoryStorageManagerComponent}} | ||
| | | | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnCompartmentEntered === | |||
| | | rowspan="2" | {{Link/Enfusion|armaR|BaseCompartmentManagerComponent}} | ||
| | | | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnCompartmentLeft === | |||
| | | | ||
|- | |- | ||
| BaseMuzzleComponent | | style="font-size: 0.8em" | | ||
| OnAmmoCountChanged | === OnAmmoCountChanged === | ||
| | | {{Link/Enfusion|armaR|BaseMuzzleComponent}} | ||
| Both weapon and character can raise the event | | Both weapon and character can raise the event (see {{Link|#BaseWeaponManagerComponent}}) | ||
|- | |||
| style="font-size: 0.8em" | | |||
=== OnAmmoCountChanged === | |||
| rowspan="3" | {{Link/Enfusion|armaR|BaseWeaponManagerComponent}} | |||
| Both weapon and character can raise the event (see {{Link|#BaseMuzzleComponent}}) | |||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnWeaponChanged === | |||
| | | | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnMagazineChanged === | |||
| | | | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnMuzzleChanged === | |||
| BaseWeaponComponent | | {{Link/Enfusion|armaR|BaseWeaponComponent}} | ||
| | | | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnFiremodeChanged === | |||
| | | {{Link/Enfusion|armaR|BaseMuzzleComponent}} | ||
| | | | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnZeroingChanged === | |||
| | | {{Link/Enfusion|armaR|BaseSightsComponent}} | ||
| currently does not carry currentMuzzle | | currently does not carry currentMuzzle | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnWeaponAttachmentChanged === | |||
| WeaponComponent | | {{Link/Enfusion|armaR|WeaponComponent}} | ||
| isAttached is true if attachmentEntity was attached to the weapon, and false if it was detached. | | {{hl|isAttached}} is true if attachmentEntity was attached to the weapon, and false if it was detached. | ||
|- | |- | ||
| | | style="font-size: 0.8em" | | ||
=== OnTurretReload === | |||
| | | {{Link/Enfusion|armaR|TurretControllerComponent}} | ||
| isFinished is true when reload is done and false when it started. | | isFinished is true when reload is done and false when it started. | ||
|} | |} | ||
== Entity Event Handlers == | == Entity Event Handlers == | ||
The following events are present and available in the '''{{Link/Enfusion|armaR|IEntity}}''' class - read the code documentation to learn more about them and how to use them. | |||
{{Feature|informative|'''E''' in e.g '''E'''OnInit stands for Event (not Entity).}} | {{Feature|informative|'''E''' in e.g '''E'''OnInit stands for Event (not Entity).}} | ||
{| class="wikitable sortable valign-top" | |||
! Event | |||
! class="unsortable" | Description | |||
|- | |||
| style="font-size: 0.8em" | | |||
=== EOnInit === | === EOnInit === | ||
| Event after the entity is allocated and initialized. | |||
Event after the entity is allocated and initialized. | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnVisible === | === EOnVisible === | ||
| This event triggers when the entity is made visible (versus being invisible). | |||
This event triggers when the entity is made visible (versus being invisible). | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnFrame === | === EOnFrame === | ||
| This event, as its name suggests, triggers on each simulation frame. | |||
This event, as its name suggests, triggers on each simulation frame. | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnPostFrame === | === EOnPostFrame === | ||
| Triggers after physics update. | |||
Triggers after physics update. | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnFixedFrame === | === EOnFixedFrame === | ||
| | |||
|- | |||
| style="font-size: 0.8em" | | |||
=== EOnFixedPostFrame === | === EOnFixedPostFrame === | ||
| | |||
|- | |||
| style="font-size: 0.8em" | | |||
=== EOnAnimEvent === | === EOnAnimEvent === | ||
| Event from the animation system | |||
Event from the animation system | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnPhysicsActive === | === EOnPhysicsActive === | ||
| Triggers on (de)activation of the {{hl|RigidBody}}'s physics. | |||
Triggers on (de)activation of the {{hl|RigidBody}}'s physics. | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnPhysicsMove === | === EOnPhysicsMove === | ||
| Triggers when the physics engine moves this entity. | |||
Triggers when the physics engine moves this entity. | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnSimulate === | === EOnSimulate === | ||
| Happens before physics engine iteration - called from sub-iterations. | |||
Happens before physics engine iteration - called from sub-iterations. | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnPostSimulate === | === EOnPostSimulate === | ||
| Happens after physics engine iteration. Happens once per frame. | |||
|- | |||
| style="font-size: 0.8em" | | |||
=== EOnJointBreak === | === EOnJointBreak === | ||
| Triggers when a joint attached to this entity's {{hl|RigidBody}} is broken. | |||
Triggers when a joint attached to this entity's {{hl|RigidBody}} is broken. | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnTouch === | === EOnTouch === | ||
| Event when touched by another entity. It requires the entity to have {{hl|TouchComponent}}. | |||
Event when touched by another entity. It requires the entity to have {{hl|TouchComponent}}. | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnContact === | === EOnContact === | ||
| Triggers when contact with another {{hl|RigidBody}} has been registered. | |||
Triggers when contact with another {{hl|RigidBody}} has been registered. | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnDiag === | === EOnDiag === | ||
| Happens every frame after {{Link|#EOnFrame}} when "Entity Diag" is enabled in the [[Arma Reforger:Diag Menu|Diag Menu]] (e.g [[Arma Reforger:Workbench|Workbench]]). | |||
Happens every frame after {{Link|#EOnFrame}} when "Entity Diag" is enabled in the [[Arma Reforger:Diag Menu|Diag Menu]] (e.g [[Arma Reforger:Workbench|Workbench]]). | |- | ||
| style="font-size: 0.8em" | | |||
=== EOnUser0 === | === EOnUser0 === | ||
| | |||
|- | |||
| style="font-size: 0.8em" | | |||
=== EOnUser1 === | === EOnUser1 === | ||
| | |||
|- | |||
| style="font-size: 0.8em" | | |||
=== EOnUser2 === | === EOnUser2 === | ||
| | |||
|- | |||
| style="font-size: 0.8em" | | |||
=== EOnUser3 === | === EOnUser3 === | ||
| | |||
|- | |||
| style="font-size: 0.8em" | | |||
=== EOnUser4 === | === EOnUser4 === | ||
| | |||
|} | |||
{{GameCategory|armaR|Modding|Guidelines|Scripting}} | {{GameCategory|armaR|Modding|Guidelines|Scripting}} |
Revision as of 17:04, 19 May 2023
Common Event Handlers
Class | Event | Description |
---|---|---|
OnDestroyed |
DamageManagerComponent | when default hitzone is set to destroyed |
OnADSChanged |
CharacterControllerComponent | on player character which switches to ADS |
OnInspectionModeChanged |
on player character which switches in/out of inspection mode | |
OnMagazineCountChanged |
InventoryStorageManagerComponent | |
OnCompartmentEntered |
BaseCompartmentManagerComponent | |
OnCompartmentLeft |
||
OnAmmoCountChanged |
BaseMuzzleComponent | Both weapon and character can raise the event (see BaseWeaponManagerComponent) |
OnAmmoCountChanged |
BaseWeaponManagerComponent | Both weapon and character can raise the event (see BaseMuzzleComponent) |
OnWeaponChanged |
||
OnMagazineChanged |
||
OnMuzzleChanged |
BaseWeaponComponent | |
OnFiremodeChanged |
BaseMuzzleComponent | |
OnZeroingChanged |
BaseSightsComponent | currently does not carry currentMuzzle |
OnWeaponAttachmentChanged |
WeaponComponent | isAttached is true if attachmentEntity was attached to the weapon, and false if it was detached. |
OnTurretReload |
TurretControllerComponent | isFinished is true when reload is done and false when it started. |
Entity Event Handlers
The following events are present and available in the IEntity class - read the code documentation to learn more about them and how to use them.
Event | Description |
---|---|
EOnInit |
Event after the entity is allocated and initialized. |
EOnVisible |
This event triggers when the entity is made visible (versus being invisible). |
EOnFrame |
This event, as its name suggests, triggers on each simulation frame. |
EOnPostFrame |
Triggers after physics update. |
EOnFixedFrame |
|
EOnFixedPostFrame |
|
EOnAnimEvent |
Event from the animation system |
EOnPhysicsActive |
Triggers on (de)activation of the RigidBody's physics. |
EOnPhysicsMove |
Triggers when the physics engine moves this entity. |
EOnSimulate |
Happens before physics engine iteration - called from sub-iterations. |
EOnPostSimulate |
Happens after physics engine iteration. Happens once per frame. |
EOnJointBreak |
Triggers when a joint attached to this entity's RigidBody is broken. |
EOnTouch |
Event when touched by another entity. It requires the entity to have TouchComponent. |
EOnContact |
Triggers when contact with another RigidBody has been registered. |
EOnDiag |
Happens every frame after EOnFrame when "Entity Diag" is enabled in the Diag Menu (e.g Workbench). |
EOnUser0 |
|
EOnUser1 |
|
EOnUser2 |
|
EOnUser3 |
|
EOnUser4 |