#include "..\script_component.hpp"
// get vehicles the mission started with at base locations
(call FUNC(getStartingAndCurrentAssets)) params [
"_startingAssets",
"_currentAssets"
];
// get distinct classnames to group by
private _distinctStartingAssetsClassNames = [];
{
_x params ["_netId", "_cfg"];
private _className = configName _cfg;
_distinctStartingAssetsClassNames pushBackUnique _className;
} forEach _startingAssets;
// get the approved assets config to identify callsigns
private _approvedAssetsCfg = call EFUNC(common,getApprovedAssetsCfg);
if (isNull _approvedAssetsCfg) exitWith {
[
LEVEL_ERROR,
QUOTE(COMPONENT),
"No approved assets defined.",
[]
] call EFUNC(common,log);
[
"ERROR: No approved assets defined. See defines/ApprovedAssets.hpp"
] call BIS_fnc_error;
};
_text = parseText "MESSAGE";
_text = composeText [_text, lineBreak ];
_text = composeText [_text, parseText "AssetAvailable", lineBreak ];
{
private _className = _x;
// only approved assets
if (!isClass (_approvedAssetsCfg >> _className)) then {continue};
private _callsign = [_className] call FUNC(getCallsignFromClassname);
private _startingAssetsOfThisType = _startingAssets select {
// select all starting assets of this type
_x params ["_netId", "_cfg"];
_className isEqualTo (configName _cfg);
};
private _currentAssetsOfThisType = _currentAssets select {
_x params ["_netId", "_cfg"];
private _object = _netId call BIS_fnc_objectFromNetId;
// objNull if deleted, then check classname and if alive
!isNull _object && {
_className isEqualTo (typeOf _object) &&
alive _object
};
};
(_startingAssetsOfThisType#0) params [
"_assetNetId",
"_assetCfg"
];
_assigned = count _startingAssetsOfThisType;
_available = count _currentAssetsOfThisType;
// count (getMarkerPos "respawn_west" nearEntities [ _asset, 2000] );
_image = getText(_assetCfg >> "picture");
_name = getText(_assetCfg >> "displayName") select [0, 22];
private _data = format[
"
%2%3 [ %4 ]",
_image,
_name,
_available,
_assigned
];
// private _data = format[
// "
// %2
// %3
// %4",
// _image,
// _name,
// _assigned,
// _available
// ];
_text = composeText[ _text, parseText _data, lineBreak ];
} foreach _distinctStartingAssetsClassNames;
hint _text;