ACE3/addons/units/functions/fnc_onSpeedLoad.sqf

33 lines
1.2 KiB
Plaintext
Raw Normal View History

2019-06-08 20:17:24 +00:00
#include "script_component.hpp"
params ["_ctrl"];
private _speed = (ctrlParent _ctrl) ctrlCreate [QGVAR(speed), -1];
private _units = (vehicle ace_player) call FUNC(speedUnits);
private _speedInfo = [_units select 0] call FUNC(speedInfo);
((ctrlParent _speed) displayCtrl 1004) ctrlSetText (_speedInfo select 0);
2019-06-08 20:20:51 +00:00
GVAR(speedRatio) = _speedInfo select 1;
2019-06-08 20:17:24 +00:00
private _settingEH = ["CBA_SettingChanged", {
params ["_setting", "_value"];
_thisArgs params ["_settingName", "_speed"];
if (_setting isEqualTo _settingName) then {
private _speedInfo = [_value] call FUNC(speedInfo);
((ctrlParent _speed) displayCtrl 1004) ctrlSetText (_speedInfo select 0);
2019-06-08 20:20:51 +00:00
GVAR(speedRatio) = _speedInfo select 1;
2019-06-08 20:17:24 +00:00
};
}, [_units select 1, _speed]] call CBA_fnc_addEventHandlerArgs;
[{
(_this select 0) params ["_ctrl", "_speed", "_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;
2019-06-09 08:04:43 +00:00
_speed ctrlSetText ((speed vehicle ace_player / GVAR(speedRatio)) toFixed 0);
2019-06-08 20:17:24 +00:00
}, 0, [_ctrl, _speed, _settingEH]] call CBA_fnc_addPerFrameHandler;