ACE3/addons/cargo/functions/fnc_onMenuOpen.sqf
Ozan Eğitmen ea4a159cd2 Add Paradrop Time Coefficient Setting (#5116)
* Add coef

* Show cargo paradrop time in menu

* Unary command, not a function call

* If drop time is 0 don't show a progress bar

* Add the setting to cargo's editor module

* Swap values

* Remove extra comma

* Move unload message to paradrop event

This way the message will show up on all paradrops, not just immidiate
ones.
2017-05-05 14:02:59 -05:00

59 lines
1.7 KiB
Plaintext

/*
* Author: Glowbal
* Handle the UI data display.
*
* Arguments:
* 0: Display <DISPLAY>
*
* Return Value:
* None
*
* Example:
* [display] call ace_cargo_fnc_onMenuOpen
*
* Public: No
*/
#include "script_component.hpp"
disableSerialization;
params ["_display"];
uiNamespace setVariable [QGVAR(menuDisplay), _display];
if (GVAR(interactionParadrop)) then {
(_display displayCtrl 12) ctrlSetText (localize LSTRING(paradropButton));
};
[{
disableSerialization;
private _display = uiNamespace getVariable QGVAR(menuDisplay);
if (isnil "_display") exitWith {
[_this select 1] call CBA_fnc_removePerFrameHandler;
};
if (isNull GVAR(interactionVehicle) || {(ACE_player distance GVAR(interactionVehicle) >= 10) && {(vehicle ACE_player) != GVAR(interactionVehicle)}}) exitWith {
closeDialog 0;
[_this select 1] call CBA_fnc_removePerFrameHandler;
};
private _loaded = GVAR(interactionVehicle) getVariable [QGVAR(loaded), []];
private _ctrl = _display displayCtrl 100;
private _label = _display displayCtrl 2;
lbClear _ctrl;
{
private _class = if (_x isEqualType "") then {_x} else {typeOf _x};
private _displayName = getText (configfile >> "CfgVehicles" >> _class >> "displayName");
if (GVAR(interactionParadrop)) then {
_ctrl lbAdd format ["%1 (%2s)", _displayName, GVAR(paradropTimeCoefficent) * ([_class] call FUNC(getSizeItem))];
} else {
_ctrl lbAdd _displayName;
};
true
} count _loaded;
_label ctrlSetText format[localize LSTRING(labelSpace), [GVAR(interactionVehicle)] call DFUNC(getCargoSpaceLeft)];
}, 0, []] call CBA_fnc_addPerFrameHandler;