ACE3/addons/pylons/functions/fnc_onButtonLoad.sqf

59 lines
1.7 KiB
Plaintext
Raw Normal View History

#include "script_component.hpp"
/*
* Author: 654wak654
* Loads selected pylon configuration from either config or profileNamespace.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ace_pylons_fnc_onButtonLoad
*
* Public: No
*/
[false] call FUNC(onPylonMirror);
(CONTROL(ID_DIALOG) ID_CHECKBOX_MIRROR) cbSetChecked false;
private _loadoutName = ctrlText ID_EDIT_LOADOUTNAME;
private _fnc_setSelections = {
params ["_mags", "_turrets"];
{
_x params ["_combo", "_mirroredIndex", "_button"];
private _index = 0;
for "_i" from 1 to ((lbSize _combo) - 1) do {
if ((_combo lbData _i) == (_mags param [_forEachIndex, ""])) exitWith {
_index = _i;
};
};
_combo lbSetCurSel _index;
[_button, false, _turrets select _forEachIndex] call FUNC(onButtonTurret);
} forEach GVAR(comboBoxes);
};
private _pylonComponent = configOf GVAR(currentAircraft) >> "Components" >> "TransportPylonsComponent";
private _loadoutFound = {
if (getText (_x >> "displayName") isEqualTo _loadoutName) exitWith {
// Get default turrets from config
private _turrets = ("true" configClasses (_pylonComponent >> "Pylons")) apply {getArray (_x >> "turret")};
[getArray (_x >> "attachment"), _turrets] call _fnc_setSelections;
true
};
false
} forEach ("true" configClasses (_pylonComponent >> "Presets"));
if (_loadoutFound) exitWith {};
private _aircraftLoadouts = profileNamespace getVariable [QGVAR(aircraftLoadouts), []];
{
if ((_x select 0) isEqualTo _loadoutName && {(_x select 3) isEqualTo typeOf GVAR(currentAircraft)}) exitWith {
[_x select 1, _x select 2] call _fnc_setSelections;
};
} forEach _aircraftLoadouts;