#include "script_component.hpp" #include "XEH_PREP.hpp" // cache refuel vehicles, see XEH_postInit.sqf private _staticClasses = []; private _baseStaticClasses = []; private _baseDynamicClasses = []; private _cacheRefuelCargo = createHashMap; { private _transportFuel = getNumber (_x >> "transportFuel"); private _fuelCargo = [_x >> QGVAR(fuelCargo), "NUMBER", _transportFuel] call CBA_fnc_getConfigEntry; if (_fuelCargo > 0 || {_fuelCargo == REFUEL_INFINITE_FUEL}) then { private _sourceClass = configName _x; private _noXEH = !isText (_x >> "EventHandlers" >> "CBA_Extended_EventHandlers" >> "init"); private _isPublic = getNumber (_x >> "scope") == 2; // check if we can use actions with inheritance if ( _noXEH // addActionToClass relies on XEH init || {_sourceClass isKindOf "Static"} // CBA_fnc_addClassEventHandler doesn't support "Static" class ) then { if (_isPublic) then { if (_noXEH) then { WARNING_3("Class %1: %2 [%3] needs XEH",_sourceClass,configName inheritsFrom _x,configSourceMod _x); }; _staticClasses pushBack _sourceClass; if (_baseStaticClasses findIf {_sourceClass isKindOf _x} == -1) then { _baseStaticClasses pushBack _sourceClass; }; }; } else { if (_baseDynamicClasses findIf {_sourceClass isKindOf _x} == -1) then { _baseDynamicClasses pushBack _sourceClass; }; }; if (_isPublic) then { _cacheRefuelCargo set [_sourceClass, _fuelCargo]; }; }; } forEach ("true" configClasses (configFile >> "CfgVehicles")); TRACE_3("found",count _staticClasses,count _baseStaticClasses,count _baseDynamicClasses); uiNamespace setVariable [QGVAR(cacheRefuelClassesStatic), compileFinal (_staticClasses createHashMapFromArray [])]; uiNamespace setVariable [QGVAR(cacheRefuelClassesBaseStatic), compileFinal (_baseStaticClasses createHashMapFromArray [])]; uiNamespace setVariable [QGVAR(cacheRefuelClassesBaseDynamic), compileFinal (_baseDynamicClasses createHashMapFromArray [])]; uiNamespace setVariable [QGVAR(cacheRefuelCargo), compileFinal _cacheRefuelCargo];