ACE3/addons/rearm/XEH_postInit.sqf
johnb432 29728352e2
Rearm - Optimise getting magazine names (#10052)
* Optimise getting rearm magazine names

* Replace using regex and localize CSW entries

* Added comments about prefix
2024-06-04 23:32:41 -07:00

46 lines
1.9 KiB
Plaintext

#include "script_component.hpp"
GVAR(hardpointGroupsCache) = [] call CBA_fnc_createNamespace;
GVAR(configTypesAdded) = [];
GVAR(magazineNameCache) = createHashMap;
GVAR(usedMagazineNames) = createHashMap;
[QGVAR(initSupplyVehicle), {
TRACE_1("initSupplyVehicle EH",_this); // Warning: this can run before settings are init
[FUNC(initSupplyVehicle), _this] call EFUNC(common,runAfterSettingsInit);
}] call CBA_fnc_addEventHandler;
["CBA_settingsInitialized", {
TRACE_3("settingsInit",GVAR(enabled),GVAR(level),GVAR(supply));
// need these events before enabled check for zeus rearm
[QGVAR(rearmEntireVehicleSuccessEH), LINKFUNC(rearmEntireVehicleSuccess)] call CBA_fnc_addEventHandler;
[QGVAR(rearmEntireVehicleSuccessLocalEH), LINKFUNC(rearmEntireVehicleSuccessLocal)] call CBA_fnc_addEventHandler;
[QGVAR(makeDummyEH), LINKFUNC(makeDummy)] call CBA_fnc_addEventHandler;
[QGVAR(rearmSuccessEH), LINKFUNC(rearmSuccess)] call CBA_fnc_addEventHandler;
[QGVAR(rearmSuccessLocalEH), LINKFUNC(rearmSuccessLocal)] call CBA_fnc_addEventHandler;
if (!GVAR(enabled)) exitWith {};
["AllVehicles", "Init", LINKFUNC(initSupplyVehicle), true, ["Man", "StaticWeapon"], true] call CBA_fnc_addClassEventHandler;
["ReammoBox_F", "Init", LINKFUNC(initSupplyVehicle), true, [], true] call CBA_fnc_addClassEventHandler;
["House", "Init", LINKFUNC(initSupplyVehicle), true, [], true] call CBA_fnc_addClassEventHandler;
// placed in editor static objects don't trigger init
{
_x call FUNC(initSupplyVehicle);
} forEach allMissionObjects "Static";
["ace_unconscious", LINKFUNC(handleUnconscious)] call CBA_fnc_addEventHandler;
["vehicle", {
params ["_unit"];
[_unit] call FUNC(dropAmmo);
}] call CBA_fnc_addPlayerEventHandler;
if (isServer) then {
addMissionEventHandler ["HandleDisconnect", {params ["_unit"]; [_unit] call FUNC(dropAmmo)}];
};
}] call CBA_fnc_addEventHandler;