ACE3/addons/units/functions/fnc_onAltLoad.sqf

41 lines
1.4 KiB
Plaintext
Raw Normal View History

2019-06-08 20:17:24 +00:00
#include "script_component.hpp"
params ["_ctrl"];
private _alt = (ctrlParent _ctrl) ctrlCreate [QGVAR(alt), -1];
private _units = (vehicle ace_player) call FUNC(altUnits);
private _altInfo = [_units select 0] call FUNC(altInfo);
systemChat "alt time";
((ctrlParent _alt) displayCtrl 1005) ctrlSetText (_altInfo select 0);
GVAR(ratio) = _altInfo select 1;
private _settingEH = ["CBA_SettingChanged", {
params ["_setting", "_value"];
_thisArgs params ["_settingName", "_alt"];
if (_setting isEqualTo _settingName) then {
private _altInfo = [_value] call FUNC(altInfo);
((ctrlParent _alt) displayCtrl 1005) ctrlSetText (_altInfo select 0);
GVAR(ratio) = _altInfo select 1;
};
}, [_units select 1, _alt]] call CBA_fnc_addEventHandlerArgs;
[{
(_this select 0) params ["_ctrl", "_alt", "_settingEH"];
if (isNull _ctrl) exitWith {
[_this select 1] call CBA_fnc_removePerFrameHandler;
["CBA_SettingChanged", _settingEH] call CBA_fnc_removeEventHandler;
};
_ctrl ctrlSetFade 1;
_ctrl ctrlCommit 0;
private _altValue = (((getPosATL vehicle ace_player) select 2) / GVAR(ratio));
if (_altValue < 10) then {
_altValue = _altValue toFixed 1;
} else {
_altValue = str round _altValue;
};
_alt ctrlSetText _altValue;
}, 0, [_ctrl, _alt, _settingEH]] call CBA_fnc_addPerFrameHandler;