Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
effect.c File Reference

Go to the source code of this file.

Enumerations

enum  EffectType
 Enum to determine what type of effect the Effect is. More...
 

Functions

EffectType

Information about what type of effect the Effect is, without the need for casting

EffectType GetEffectType ()
 Get what type of effect the Effect is.
 
bool IsSound ()
 Check whether the Effect is EffectSound without casting.
 
bool IsParticle ()
 Check whether the Effect is EffectParticle without casting.
 
Playback

Methods to Play/Stop Effect Generally, SEffectManager.Play methods are used instead of Start

void Start ()
 Plays all elements this effects consists of.
 
void ValidateStart ()
 Validation whether an effect truly started playing or if the Effect should stop as none is present.
 
void Stop ()
 Stops all elements this effect consists of.
 
bool IsPlaying ()
 Returns true when the Effect is playing, false otherwise.
 
Destroy

Methods regarding automatic cleanup

void Destroy ()
 Cleans up the Effect, including unregistering if needed.
 
void SetAutodestroy (bool auto_destroy)
 Sets whether Effect automatically cleans up when it stops.
 
bool IsAutodestroy ()
 Get whether Effect automatically cleans up when it stops.
 
bool IsPendingDeletion ()
 Get whether the Effect is queued up for being cleaned up.
 
bool CanDestroy ()
 Get whether the Effect can be destroyed right now.
 
void SetEnableEventFrame (bool enable)
 Enable Event_OnFrameUpdate for the effect.
 
Events

Various events that can be overriden for custom behaviour

void Event_OnFrameUpdate (float time_delta)
 Event called on frame when enabled by SetEnableEventFrame(true)
 
void Event_OnRegistered (int id)
 Event called from SEffectManager when the Effect is registered.
 
void Event_OnUnregistered ()
 Event called from SEffectManager when the Effect is unregistered.
 
void OnCheckUpdate ()
 Event used when EffectParticle.CheckLifeSpan was called (DEPRECATED)
 
Generic API

Setters and getters for generic data and properties

void SetParent (Object parent_obj, int pivot)
 Set parent of the Effect.
 
void SetParent (Object parent_obj)
 Set parent of the Effect.
 
Object GetParent ()
 Get parent of the Effect.
 
int GetPivotIndex ()
 Get parent pivot of the Effect, only valid when there is some GetParent.
 
void SetCurrentParent (Object parent_obj, bool updateCached=true)
 Set current parent of the managed effect.
 
Object GetCurrentParent ()
 Get the current parent of the managed Effect.
 
void SetPosition (vector pos)
 Set the world position of the Effect.
 
vector GetPosition ()
 Get the world position of the Effect.
 
void SetCurrentPosition (vector pos, bool updateCached=true)
 Set the current world position of the managed effect.
 
vector GetCurrentPosition ()
 Get the current world position of the managed effect.
 
void SetLocalPosition (vector pos)
 Set the local position of the Effect.
 
vector GetLocalPosition ()
 Get the local position of the Effect.
 
void SetCurrentLocalPosition (vector pos, bool updateCached=true)
 Set the current local position of the managed effect.
 
vector GetCurrentLocalPosition ()
 Get the current local position of the managed effect.
 
Effect ID

The ID of the effect when registered in SEffectManager

void SetID (int id)
 Set the ID registered in SEffectManager.
 
int GetID ()
 Get the ID registered in SEffectManager.
 
bool IsRegistered ()
 Get whether this Effect is registered in SEffectManager.
 
Attachment API

Data to attach an Effect to a parent Mostly replaced by equivalents without 'Attachment' in name Mildly deprecated, exist for backwards compatibility

void SetAttachmentParent (Object obj)
 Set parent for the Effect.
 
Object GetAttachmentParent ()
 Get the parent set by SetAttachmentParent.
 
void SetAttachedLocalPos (vector pos)
 Set local pos for the Effect relative to the parent.
 
vector GetAttachedLocalPos ()
 Get the local pos set by SetAttachedLocalPos.
 
void SetAttachedLocalOri (vector ori)
 Set local orientation for the Effectparticle to attach to when the Effect is started.
 
vector GetAttachedLocalOri ()
 Get the local orientation set by SetAttachedLocalOri.
 

Variables

 NONE
 Plain Effect base.
 
 SOUND
 EffectSound.
 
 PARTICLE
 EffectParticle.
 
Event invokers

Base wrapper class for managing effects (Particles, Sound) through SEffectManager

Note
This is just a base class, not intended for direct usage

ScriptInvonkers for certain events

 Event_OnStarted () = new ScriptInvoker()
 Event used when Start was called.
 
ref ScriptInvoker Event_OnStopped () = new ScriptInvoker()
 Event used when Stop was called.
 
ref ScriptInvoker Event_OnEffectStarted () = new ScriptInvoker()
 Event used when the actual effect started playing.
 
ref ScriptInvoker Event_OnEffectEnded () = new ScriptInvoker()
 Event used when the actual effect stopped playing.
 
Generic data

Generic data for the Effect

bool m_IsAutodestroy
 Whether the Effect cleans up after itself when stopped.
 
bool m_IsPendingDeletion
 Whether the Destroy process has already been called.
 
bool m_IsPlaying
 Whether the Effect is currently playing.
 
Object m_ParentObject
 Cached parent.
 
int m_PivotIndex = -1
 Cached parent pivot id.
 
vector m_Position
 Cached world position.
 
SEffectManager data

Data filled in by SEffectManager to identify it when it is registered

int m_ID
 ID of effect, given by SEffectManager when registered (automatically done when playing through it)
 
bool m_IsRegistered
 Whether the effect is registered in SEffectManager.
 

Attachment data

Cached settings set through 'SetAttachment...' methods Does not necessarily reflect the current state when EffectParticle

vector m_LocalPos
 Cached local pos.
 
vector m_LocalOri
 Local orientation set by SetAttachedLocalOri, only used by EffectParticle.
 
void Effect ()
 ctor
 
void ~Effect ()
 dtor
 
void InitEffect ()
 init
 

Enumeration Type Documentation

◆ EffectType

enum EffectType

Enum to determine what type of effect the Effect is.

Definition at line 2 of file effect.c.

Function Documentation

◆ Effect()

void Effect ( )
protected

ctor

Definition at line 72 of file effect.c.

◆ Event_OnFrameUpdate()

void Event_OnFrameUpdate ( float time_delta)
protected

Event called on frame when enabled by SetEnableEventFrame(true)

Note
Called from SEffectManager.Event_OnFrameUpdate in MissionGameplay.OnUpdate
Parameters
time_deltafloat Time passed since the previous frame

Definition at line 347 of file effect.c.

◆ Event_OnRegistered()

void Event_OnRegistered ( int id)
protected

Event called from SEffectManager when the Effect is registered.

Note
Should only ever be called by SEffectManager!
Parameters
idint ID registered in SEffectManager

Definition at line 357 of file effect.c.

◆ Event_OnUnregistered()

void Event_OnUnregistered ( )
protected

Event called from SEffectManager when the Effect is unregistered.

Note
Should only ever be called by SEffectManager!

Definition at line 367 of file effect.c.

◆ GetAttachedLocalOri()

vector GetAttachedLocalOri ( )
protected

Get the local orientation set by SetAttachedLocalOri.

Warning
Is not necessarily the current local orientation
Returns
vector The local orientation set by SetAttachedLocalOri

Definition at line 638 of file effect.c.

◆ GetAttachedLocalPos()

vector GetAttachedLocalPos ( )
protected

Get the local pos set by SetAttachedLocalPos.

Returns
vector The local pos set by SetAttachedLocalPos

Definition at line 617 of file effect.c.

◆ GetAttachmentParent()

Object GetAttachmentParent ( )
protected

Get the parent set by SetAttachmentParent.

Returns
Object The parent set by SetAttachmentParent

Definition at line 599 of file effect.c.

◆ GetCurrentLocalPosition()

vector GetCurrentLocalPosition ( )
protected

Get the current local position of the managed effect.

Returns
vector The current local position of the managed effect

Definition at line 533 of file effect.c.

◆ GetCurrentParent()

Object GetCurrentParent ( )
protected

Get the current parent of the managed Effect.

Returns
Object The current parent of the managed Effect

Definition at line 453 of file effect.c.

◆ GetCurrentPosition()

vector GetCurrentPosition ( )
protected

Get the current world position of the managed effect.

Returns
vector The current world position of the managed effect

Definition at line 493 of file effect.c.

◆ GetEffectType()

EffectType GetEffectType ( )
protected

Get what type of effect the Effect is.

Returns
EffectType What type of effect the Effect is

Definition at line 120 of file effect.c.

◆ GetID()

int GetID ( )
protected

Get the ID registered in SEffectManager.

Returns
int ID registered in SEffectManager, or 0 (SEffectManager.INVALID_ID) when not registered

Definition at line 561 of file effect.c.

◆ GetLocalPosition()

vector GetLocalPosition ( )
protected

Get the local position of the Effect.

Warning
Only gets the cached variable, for immediate effect use GetCurrent variant
Returns
vector The lcoal position of the Effect

Definition at line 513 of file effect.c.

◆ GetPivotIndex()

int GetPivotIndex ( )
protected

Get parent pivot of the Effect, only valid when there is some GetParent.

Warning
Only gets the cached variable
Returns
int The parent pivot of the Effect

Definition at line 432 of file effect.c.

◆ InitEffect()

void InitEffect ( )
protected

init

Definition at line 103 of file effect.c.

◆ IsParticle()

bool IsParticle ( )
protected

Check whether the Effect is EffectParticle without casting.

Returns
bool Whether the Effect is EffectParticle

Definition at line 138 of file effect.c.

◆ IsPlaying()

bool IsPlaying ( )
protected

Returns true when the Effect is playing, false otherwise.

Definition at line 197 of file effect.c.

◆ IsRegistered()

bool IsRegistered ( )
protected

Get whether this Effect is registered in SEffectManager.

Returns
bool Whether this Effect is registered in SEffectManager

Definition at line 570 of file effect.c.

◆ IsSound()

bool IsSound ( )
protected

Check whether the Effect is EffectSound without casting.

Returns
bool Whether the Effect is EffectSound

Definition at line 129 of file effect.c.

◆ OnCheckUpdate()

void OnCheckUpdate ( )
protected

Event used when EffectParticle.CheckLifeSpan was called (DEPRECATED)

Note
So this is EffectParticle specific...
EffectParticle.CheckLifeSpan is currently not in use

Definition at line 378 of file effect.c.

◆ SetAttachedLocalOri()

void SetAttachedLocalOri ( vector ori)
protected

Set local orientation for the Effectparticle to attach to when the Effect is started.

Warning
Only caches it into a variable to be used by Start, does not live update when called afterwards
Note
Overrides the orientation set by EffectParticle.SetOrientation
Parameters
orivector The local orientation to use on Start

Definition at line 628 of file effect.c.

◆ SetAttachedLocalPos()

void SetAttachedLocalPos ( vector pos)
protected

Set local pos for the Effect relative to the parent.

Parameters
posvector The local pos relative to the parent

Definition at line 608 of file effect.c.

◆ SetAttachmentParent()

void SetAttachmentParent ( Object obj)
protected

Set parent for the Effect.

Parameters
objObject The parent for the Effect

Definition at line 590 of file effect.c.

◆ SetCurrentLocalPosition()

void SetCurrentLocalPosition ( vector pos,
bool updateCached = true )
protected

Set the current local position of the managed effect.

Parameters
posvector The current local position for the managed effect
updateCachedbool Whether to update the cached variable

Definition at line 523 of file effect.c.

◆ SetCurrentParent()

void SetCurrentParent ( Object parent_obj,
bool updateCached = true )
protected

Set current parent of the managed effect.

Note
Same as SetAttachmentParent, but more generic name
Parameters
parent_objObject The parent for the Effect
updateCachedbool Whether to update the cached variable

Definition at line 443 of file effect.c.

◆ SetCurrentPosition()

void SetCurrentPosition ( vector pos,
bool updateCached = true )
protected

Set the current world position of the managed effect.

Parameters
posvector The current world position for the Effect
updateCachedbool Whether to update the cached variable

Definition at line 483 of file effect.c.

◆ SetID()

void SetID ( int id)
protected

Set the ID registered in SEffectManager.

Note
Should only ever be called by Event_OnRegistered!
Parameters
idint ID registered in SEffectManager

Definition at line 552 of file effect.c.

◆ SetLocalPosition()

void SetLocalPosition ( vector pos)
protected

Set the local position of the Effect.

Warning
Only sets the cached variable, for immediate effect use SetCurrent variant
Parameters
posvector The local position for the Effect

Definition at line 503 of file effect.c.

◆ SetParent() [1/2]

void SetParent ( Object parent_obj)
protected

Set parent of the Effect.

Note
Same as SetAttachmentParent, but more generic name
Warning
Only sets the cached variable, for immediate effect use SetCurrent variant
Parameters
parent_objObject The parent for the Effect

Definition at line 411 of file effect.c.

◆ SetParent() [2/2]

void SetParent ( Object parent_obj,
int pivot )
protected

Set parent of the Effect.

Note
Same as SetAttachmentParent, but more generic name
Warning
Only sets the cached variable, for immediate effect use SetCurrent variant
Parameters
parent_objObject The parent
pivotint The pivot index

Definition at line 399 of file effect.c.

◆ Start()

void Start ( )
protected

Plays all elements this effects consists of.

Note
Is called by SEffectManager.Play methods

Definition at line 157 of file effect.c.

◆ ValidateStart()

void ValidateStart ( )
protected

Validation whether an effect truly started playing or if the Effect should stop as none is present.

Note
Override this when inheriting to create own validation check
Is called from Event_OnStarted invoker after Event_OnStarted has been performed

Definition at line 174 of file effect.c.

◆ ~Effect()

void ~Effect ( )
protected

dtor

Definition at line 87 of file effect.c.

Variable Documentation

◆ Event_OnEffectEnded

void Event_OnEffectEnded = new ScriptInvoker()

Event used when the actual effect stopped playing.

Definition at line 25 of file effect.c.

◆ Event_OnEffectStarted

void Event_OnEffectStarted = new ScriptInvoker()

Event used when the actual effect started playing.

Definition at line 24 of file effect.c.

◆ Event_OnStarted

void Event_OnStarted = new ScriptInvoker()

Event used when Start was called.

Definition at line 304 of file effect.c.

◆ Event_OnStopped

void Event_OnStopped = new ScriptInvoker()

Event used when Stop was called.

Definition at line 23 of file effect.c.

◆ m_ID

int m_ID
protected

ID of effect, given by SEffectManager when registered (automatically done when playing through it)

Definition at line 51 of file effect.c.

◆ m_IsAutodestroy

bool m_IsAutodestroy
protected

Whether the Effect cleans up after itself when stopped.

Definition at line 33 of file effect.c.

◆ m_IsPendingDeletion

bool m_IsPendingDeletion
protected

Whether the Destroy process has already been called.

Definition at line 35 of file effect.c.

◆ m_IsPlaying

bool m_IsPlaying
protected

Whether the Effect is currently playing.

Definition at line 37 of file effect.c.

◆ m_IsRegistered

bool m_IsRegistered
protected

Whether the effect is registered in SEffectManager.

Definition at line 53 of file effect.c.

◆ m_LocalOri

vector m_LocalOri
protected

Local orientation set by SetAttachedLocalOri, only used by EffectParticle.

Definition at line 64 of file effect.c.

◆ m_LocalPos

vector m_LocalPos
protected

Cached local pos.

Definition at line 62 of file effect.c.

◆ m_ParentObject

Object m_ParentObject
protected

Cached parent.

Definition at line 39 of file effect.c.

◆ m_PivotIndex

int m_PivotIndex = -1
protected

Cached parent pivot id.

Definition at line 41 of file effect.c.

◆ m_Position

vector m_Position
protected

Cached world position.

Definition at line 43 of file effect.c.

◆ NONE

@ NONE

Plain Effect base.

Definition at line 5 of file effect.c.

◆ PARTICLE

PARTICLE

EffectParticle.

Definition at line 9 of file effect.c.

◆ SOUND

SOUND

EffectSound.

Definition at line 7 of file effect.c.