ACE3/addons/common/functions/fnc_localEvent.sqf

36 lines
980 B
Plaintext
Raw Normal View History

/*
* Author: Nou
*
* Execute a local event on this client only.
*
* Argument:
* 0: Event name (string)
* 1: Event args (any)
*
* Return value:
* Nothing
*/
#include "script_component.hpp"
2015-04-04 17:08:59 +00:00
PARAMS_2(_eventName,_eventArgs);
2015-05-14 22:12:40 +00:00
private["_eventIndex", "_eventNames", "_events"];
_eventNames = GVAR(events) select 0;
_eventIndex = _eventNames find _eventName;
if(_eventIndex != -1) then {
_events = (GVAR(events) select 1) select _eventIndex;
#ifdef DEBUG_EVENTS
diag_log text format[ARR_2("* Local Event: %1",_eventName)];
diag_log text format[ARR_2(" args=%1",_eventArgs)];
#endif
{
if(!isNil "_x") then {
_eventArgs call CALLSTACK_NAMED(_x, format[ARR_3("Local Event %1 ID: %2",_eventName,_forEachIndex)]);
#ifdef DEBUG_EVENTS_CALLSTACK
diag_log text format[ARR_2(" ID: %1",_forEachIndex)];
#endif
};
} forEach _events;
};