ACE3/addons/sitting/XEH_clientInit.sqf
2024-03-28 13:57:23 -05:00

27 lines
990 B
Plaintext

#include "script_component.hpp"
// Exit on Headless
if (!hasInterface) exitWith {};
["ace_settingsInitialized", {
TRACE_1("SettingInit",XGVAR(enable));
// If not enabled, then do not add CanInteractWith Condition or event handlers
if (!XGVAR(enable)) exitWith {};
// Initialize classes as they spawn
["ThingX", "init", LINKFUNC(addSitActions), nil, nil, true] call CBA_fnc_addClassEventHandler;
// Initialize statically defined benches (also appear as world objects, no class EH thrown)
{
[_x] call FUNC(addSitActions);
} forEach [BENCHES];
// Add interaction menu exception
["isNotSitting", {isNil {(_this select 0) getVariable QGVAR(sittingStatus)}}] call EFUNC(common,addCanInteractWithCondition);
// Handle interruptions
["ace_unconscious", LINKFUNC(handleInterrupt)] call CBA_fnc_addEventHandler;
["ace_captives_SetHandcuffed", LINKFUNC(handleInterrupt)] call CBA_fnc_addEventHandler;
}] call CBA_fnc_addEventHandler;