Skip to content

Commit d07ff00

Browse files
committed
Merge pull request #279 from CBATeam/adddisablexeh2
add possibility to disable all xeh on an object
2 parents bfa1148 + 6121eaf commit d07ff00

4 files changed

Lines changed: 9 additions & 5 deletions

File tree

addons/xeh/fnc_addClassEventHandler.sqf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ private _config = configFile >> "CfgVehicles" >> _className;
3131

3232
// init fallback loop when executing on incompatible class for the first time
3333
if (!GVAR(fallbackRunning) && {ISINCOMP(_className)}) then {
34-
diag_log text format ["[XEH]: One or more children of class %1 do not support Extended Eventhandlers. Fall back to loop.", configName _config];
34+
diag_log text format ["[XEH]: One or more children of class %1 do not support Extended Event Handlers. Fall back to loop.", configName _config];
3535
call CBA_fnc_startFallbackLoop;
3636
};
3737

addons/xeh/fnc_initEvents.sqf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,13 @@ if !(ISPROCESSED(_unit)) then {
2727
SETPROCESSED(_unit);
2828

2929
private _class = configFile >> "CfgVehicles" >> typeOf _unit;
30+
private _eventClass = _class >> "EventHandlers" >> QUOTE(XEH_CLASS);
31+
32+
// adds ability to disable XEH completely on a unit, by manually clearing the CBA event handler class.
33+
if (isClass _eventClass && {configProperties [_eventClass] isEqualTo []}) exitWith {};
3034

3135
// add events to XEH incompatible units
32-
if (!isClass (_class >> "EventHandlers" >> QUOTE(XEH_CLASS))) then {
36+
if (!isClass _eventClass) then {
3337
{
3438
if (_x isEqualTo "hitpart") then {
3539
_unit addEventHandler ["hitpart", "{_this call _x} forEach ((_this select 0 select 0) getVariable ""cba_xeh_hitpart"")"];

addons/xeh/fnc_preStart.sqf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ with uiNamespace do {
4747
_x params ["_classname", "_addon"];
4848

4949
if (_addon == "") then {
50-
diag_log text format ["[XEH]: %1 does not support Extended Eventhandlers!", _classname];
50+
diag_log text format ["[XEH]: %1 does not support Extended Event Handlers!", _classname];
5151
} else {
52-
diag_log text format ["[XEH]: %1 does not support Extended Eventhandlers! Addon: %2", _classname, _addon];
52+
diag_log text format ["[XEH]: %1 does not support Extended Event Handlers! Addon: %2", _classname, _addon];
5353
};
5454
} forEach (true call CBA_fnc_supportMonitor);
5555
};

addons/xeh/fnc_supportMonitor.sqf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ private _notSupportingClasses = [];
2929

3030
{
3131
if (_classFilter == "" || {configName _x isKindOf _classFilter}) then {
32-
if (configProperties [_x >> "EventHandlers" >> QUOTE(XEH_CLASS)] isEqualTo []) then {
32+
if (!isClass (_x >> "EventHandlers" >> QUOTE(XEH_CLASS))) then {
3333
// don't list duplicates
3434
if (!_includeDuplicates && {{configName _x == "EventHandlers"} count configProperties [_x, "isClass _x", false] == 0}) exitWith {};
3535

0 commit comments

Comments
 (0)