93 lines
2.6 KiB
Plaintext
93 lines
2.6 KiB
Plaintext
#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(util,getApprovedAssetsCfg);
|
|
if (isNull _approvedAssetsCfg) exitWith {
|
|
[
|
|
QUOTE(COMPONENT),
|
|
"No approved assets defined.",
|
|
[]
|
|
] call EFUNC(util,log);
|
|
[
|
|
"ERROR: No approved assets defined. See defines/ApprovedAssets.hpp"
|
|
] call BIS_fnc_error;
|
|
};
|
|
|
|
_text = parseText "<t size='4'>MESSAGE</t>";
|
|
_text = composeText [_text, lineBreak ];
|
|
|
|
_text = composeText [_text, parseText "<t align='left' size='2'>Asset</t><t align='right' size='2'>Available</t>", 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[
|
|
"<img size='1' align='left' image='%1'/><t size='1' align='left'> %2</t><t size='1' align='right'>%3 [ %4 ]</t>",
|
|
_image,
|
|
_name,
|
|
_available,
|
|
_assigned
|
|
];
|
|
|
|
// private _data = format[
|
|
// "<img size='1' align='left' image='%1'/>
|
|
// <t size='1' align='left'> %2</t>
|
|
// <t size='1' align='middle'>%3</t>
|
|
// <t size='1' align='right'>%4</t>",
|
|
// _image,
|
|
// _name,
|
|
// _assigned,
|
|
// _available
|
|
// ];
|
|
_text = composeText[ _text, parseText _data, lineBreak ];
|
|
|
|
|
|
} foreach _distinctStartingAssetsClassNames;
|
|
|
|
hint _text; |