Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Loading...
Searching...
No Matches
Trigger Class Reference

Scripted Trigger. More...

Inheritance diagram for Trigger:
TriggerEvents BarbedWireTrigger CylinderTrigger ManTrigger SphereTrigger TrapTrigger EffectTrigger ConstructionBoxTrigger GeyserTrigger HotSpringTrigger VolcanicTrigger

Protected Member Functions

override void OnEnter (Object obj)
override void OnLeave (Object obj)
void SetParentObject (Hologram projection)
void SetParentOwner (PlayerBase player)
void UpdateInsiders (int timeout)
TriggerEvents, backwards compatibility calling

Implementation for backwards compatibility with old Trigger system

void OnEnterBeginEvent (TriggerInsider insider)
void OnLeaveBeginEvent (TriggerInsider insider)
DEPRECATED Events

left for backwards compatibility

void OnEnter (Object obj)
void OnLeave (Object obj)
TriggerInsider conditions

Conditions applied to TriggerInsider for if it can be added or should be removed

bool CanAddObjectAsInsider (Object object)
 Condition whether an Object can be added as TriggerInsider (checked before calling AddInsider).
bool ShouldRemoveInsider (TriggerInsider insider)
 Condition whether a TriggerInsider should still be updated or not (checked in update loop and before adding).
bool ShouldRemoveInsiderNoLeave (TriggerInsider insider)
 Condition whether a TriggerInsider should still be updated or not, skips OnLeaveEvent (checked in update loop and before adding).
TriggerInsider processing

Logic and processing of adding, removing and updating a TriggerInsider

TriggerInsider CreateInsider (Object obj)
 Used for easily overriding TriggerInsider creation without rewriting AddInsider.
void AddInsider (Object obj)
 Adding of new TriggerInsider.
void RemoveInsider (TriggerInsider insider, int index=-1)
 Removing of TriggerInsider.
void RemoveInsiderByObject (Object object)
 Removing of TriggerInsider through Object.
void UpdateInsiders (int timeout)
 Update the current TriggerInsider inside the Trigger, timeout paramter is deprecated.
DEBUGGING

General internal debugging functionality

override void OnRPC (PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)

Protected Attributes

Hologram m_ParentObj
PlayerBase m_Player
int m_TriggerUpdateMs

Private Member Functions

void Trigger ()
 ctor
void ~Trigger ()
 dtor
IEntity events

Usage of IEntity events

override void EOnInit (IEntity other, int extra)
 Set the default extents of the Trigger only once it is properly initialized.
override void EOnFrame (IEntity other, float timeSlice)
 When an Object touches the Trigger, we want to register it being inside the Trigger -> Replaced by EOnEnter.
override void EOnEnter (IEntity other, int extra)
 When an Object enters the trigger add it to Insiders.
override void EOnLeave (IEntity other, int extra)
 When an Object exits the trigger remove it from Insiders.
Trigger configuration

Basic configuration and data API

void SetExtents (vector mins, vector maxs)
 Set the size of the Trigger, avoid using SetCollisionBox directly.
float GetRadius (vector min, vector max)
 Get the radius of the CollisionBox, simply left for backwards compatibility.
array< ref TriggerInsiderGetInsiders ()
 Get the current TriggerInsider array, left for backwards compatibility, moved down from ManTrigger.
TriggerInsider GetInsiderForObject (Object object)
 Gets the TriggerInsider for the Object if it exists.
int GetInsiderIndexForObject (Object object)
 Gets the index in m_insiders for the Object.
Private Member Functions inherited from TriggerEvents
ScriptInvoker GetOnEnterInvoker ()
ScriptInvoker GetOnLeaveInvoker ()
void Enter (TriggerInsider insider)
void OnEnterBeginEvent (TriggerInsider insider)
void OnEnterServerEvent (TriggerInsider insider)
void OnEnterClientEvent (TriggerInsider insider)
void OnEnterEndEvent (TriggerInsider insider)
void StayStart (int nrOfInsiders)
void OnStayStartBeginEvent (int nrOfInsiders)
void OnStayStartServerEvent (int nrOfInsiders)
void OnStayStartClientEvent (int nrOfInsiders)
void OnStayStartEndEvent (int nrOfInsiders)
void Stay (TriggerInsider insider, float deltaTime)
void OnStayBeginEvent (TriggerInsider insider, float deltaTime)
void OnStayServerEvent (TriggerInsider insider, float deltaTime)
void OnStayClientEvent (TriggerInsider insider, float deltaTime)
void OnStayEndEvent (TriggerInsider insider, float deltaTime)
void StayFinish ()
void OnStayFinishBeginEvent ()
void OnStayFinishServerEvent ()
void OnStayFinishClientEvent ()
void OnStayFinishEndEvent ()
void Leave (TriggerInsider insider)
void OnLeaveBeginEvent (TriggerInsider insider)
void OnLeaveServerEvent (TriggerInsider insider)
void OnLeaveClientEvent (TriggerInsider insider)
void OnLeaveEndEvent (TriggerInsider insider)

Private Attributes

ref array< ref TriggerInsiderm_insiders
 The objects and their metadata which are currently inside the Trigger.
const int TIMEOUT = 1000
 DEPRECATED.
Private Attributes inherited from TriggerEvents
ref ScriptInvoker m_OnEnterInvoker
ref ScriptInvoker m_OnLeaveInvoker

Detailed Description

Scripted Trigger.

Definition at line 1619 of file hologram.c.

Constructor & Destructor Documentation

◆ Trigger()

void Trigger ( )
inlineprivate

ctor

Definition at line 53 of file trigger.c.

References m_insiders, and SetFlags().

◆ ~Trigger()

void ~Trigger ( )
inlineprivate

dtor

Definition at line 62 of file trigger.c.

References CleanupDebugShapes().

Member Function Documentation

◆ AddInsider()

◆ CanAddObjectAsInsider()

bool CanAddObjectAsInsider ( Object object)
inlineprotected

Condition whether an Object can be added as TriggerInsider (checked before calling AddInsider).

Definition at line 198 of file trigger.c.

Referenced by EOnEnter().

◆ CreateInsider()

TriggerInsider CreateInsider ( Object obj)
inlineprotected

Used for easily overriding TriggerInsider creation without rewriting AddInsider.

Definition at line 222 of file trigger.c.

Referenced by AddInsider().

◆ EOnEnter()

override void EOnEnter ( IEntity other,
int extra )
inlineprivate

When an Object enters the trigger add it to Insiders.

Definition at line 94 of file trigger.c.

References AddInsider(), CanAddObjectAsInsider(), and Class::CastTo().

◆ EOnFrame()

override void EOnFrame ( IEntity other,
float timeSlice )
inlineprivate

When an Object touches the Trigger, we want to register it being inside the Trigger -> Replaced by EOnEnter.

We want to update the insiders every frame (or do we?)

Definition at line 88 of file trigger.c.

References TIMEOUT, and UpdateInsiders().

◆ EOnInit()

override void EOnInit ( IEntity other,
int extra )
inlineprivate

Set the default extents of the Trigger only once it is properly initialized.

Definition at line 74 of file trigger.c.

References SetExtents().

◆ EOnLeave()

override void EOnLeave ( IEntity other,
int extra )
inlineprivate

When an Object exits the trigger remove it from Insiders.

Definition at line 102 of file trigger.c.

References Class::CastTo(), and RemoveInsiderByObject().

◆ GetInsiderForObject()

TriggerInsider GetInsiderForObject ( Object object)
inlineprivate

Gets the TriggerInsider for the Object if it exists.

Definition at line 134 of file trigger.c.

References TriggerInsider::GetObject(), and m_insiders.

Referenced by AddInsider().

◆ GetInsiderIndexForObject()

int GetInsiderIndexForObject ( Object object)
inlineprivate

Gets the index in m_insiders for the Object.

Definition at line 149 of file trigger.c.

References TriggerInsider::GetObject(), and m_insiders.

◆ GetInsiders()

array< ref TriggerInsider > GetInsiders ( )
inlineprivate

Get the current TriggerInsider array, left for backwards compatibility, moved down from ManTrigger.

Definition at line 128 of file trigger.c.

References m_insiders.

Referenced by ConstructionBoxTrigger::IsColliding().

◆ GetRadius()

float GetRadius ( vector min,
vector max )
inlineprivate

Get the radius of the CollisionBox, simply left for backwards compatibility.

Definition at line 122 of file trigger.c.

◆ OnEnter() [1/2]

override void OnEnter ( Object obj)
inlineprotected

Definition at line 1625 of file hologram.c.

References m_ParentObj, and m_TriggerUpdateMs.

Referenced by OnEnterBeginEvent().

◆ OnEnter() [2/2]

void OnEnter ( Object obj)
inlineprotected

Definition at line 187 of file trigger.c.

◆ OnEnterBeginEvent()

void OnEnterBeginEvent ( TriggerInsider insider)
inlineprotected

Definition at line 169 of file trigger.c.

References TriggerInsider::GetObject(), and OnEnter().

◆ OnLeave() [1/2]

override void OnLeave ( Object obj)
inlineprotected

Definition at line 1635 of file hologram.c.

References m_ParentObj.

Referenced by OnLeaveBeginEvent().

◆ OnLeave() [2/2]

void OnLeave ( Object obj)
inlineprotected

Definition at line 189 of file trigger.c.

◆ OnLeaveBeginEvent()

void OnLeaveBeginEvent ( TriggerInsider insider)
inlineprotected

Definition at line 175 of file trigger.c.

References TriggerInsider::GetObject(), and OnLeave().

◆ OnRPC()

override void OnRPC ( PlayerIdentity sender,
int rpc_type,
ParamsReadContext ctx )
inlineprotected

Definition at line 350 of file trigger.c.

References Serializer::Read(), and vector::Zero.

◆ RemoveInsider()

void RemoveInsider ( TriggerInsider insider,
int index = -1 )
inlineprotected

◆ RemoveInsiderByObject()

void RemoveInsiderByObject ( Object object)
inlineprotected

Removing of TriggerInsider through Object.

Definition at line 279 of file trigger.c.

References TriggerInsider::GetObject(), m_insiders, and RemoveInsider().

Referenced by EOnLeave().

◆ SetExtents()

void SetExtents ( vector mins,
vector maxs )
inlineprivate

Set the size of the Trigger, avoid using SetCollisionBox directly.

Definition at line 116 of file trigger.c.

References ScriptedEntity::SetCollisionBox().

Referenced by ManTrigger::EOnInit(), and EOnInit().

◆ SetParentObject()

void SetParentObject ( Hologram projection)
inlineprotected

Definition at line 1649 of file hologram.c.

References m_ParentObj.

◆ SetParentOwner()

void SetParentOwner ( PlayerBase player)
inlineprotected

Definition at line 1654 of file hologram.c.

References m_Player.

◆ ShouldRemoveInsider()

bool ShouldRemoveInsider ( TriggerInsider insider)
inlineprotected

Condition whether a TriggerInsider should still be updated or not (checked in update loop and before adding).

Definition at line 204 of file trigger.c.

Referenced by AddInsider(), and UpdateInsiders().

◆ ShouldRemoveInsiderNoLeave()

bool ShouldRemoveInsiderNoLeave ( TriggerInsider insider)
inlineprotected

Condition whether a TriggerInsider should still be updated or not, skips OnLeaveEvent (checked in update loop and before adding).

Definition at line 210 of file trigger.c.

Referenced by AddInsider(), and UpdateInsiders().

◆ UpdateInsiders() [1/2]

void UpdateInsiders ( int timeout)
inlineprotected

Definition at line 1644 of file hologram.c.

References m_TriggerUpdateMs.

Referenced by EOnFrame().

◆ UpdateInsiders() [2/2]

Field Documentation

◆ m_insiders

ref array<ref TriggerInsider> m_insiders
private

The objects and their metadata which are currently inside the Trigger.

Definition at line 44 of file trigger.c.

Referenced by Trigger(), AddInsider(), GetInsiderForObject(), GetInsiderIndexForObject(), GetInsiders(), RemoveInsider(), RemoveInsiderByObject(), and UpdateInsiders().

◆ m_ParentObj

Hologram m_ParentObj
protected

Definition at line 1622 of file hologram.c.

Referenced by OnEnter(), OnLeave(), and SetParentObject().

◆ m_Player

PlayerBase m_Player
protected

Definition at line 1623 of file hologram.c.

Referenced by SetParentOwner().

◆ m_TriggerUpdateMs

int m_TriggerUpdateMs
protected

Definition at line 1621 of file hologram.c.

Referenced by OnEnter(), and UpdateInsiders().

◆ TIMEOUT

const int TIMEOUT = 1000
private

DEPRECATED.

Definition at line 42 of file trigger.c.

Referenced by EOnFrame().


The documentation for this class was generated from the following files:
  • F:/Games/Dayz/scripts/4_world/classes/hologram.c
  • F:/Games/Dayz/scripts/4_world/entities/scriptedentities/triggers/trigger.c