/* * Author: PabstMirror * Initalises the `global skill` zeus module display * * Arguments: * 0: globalSetSkill controls group * * Return Value: * None * * Example: * onSetFocus = "_this call ace_zeus_fnc_ui_globalSetSkill" * * Public: No */ #include "script_component.hpp" disableSerialization; params ["_control"]; TRACE_1("params",_control); //Generic Init: private _display = ctrlparent _control; private _ctrlButtonOK = _display displayctrl 1; //IDC_OK private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); TRACE_1("logicObject",_logic); _control ctrlRemoveAllEventHandlers "setFocus"; //Specific on-load stuff: private _fnc_sliderMove = { params ["_slider"]; private _idc = ctrlIDC _slider; // IDCs ∈ [16184,16187] private _curVal = GVAR(GlobalSkillAI) select (_idc - 16184); // [0,3] _slider ctrlSetTooltip format ["%1%3 (was %2%3)", round(sliderPosition _slider * 100), round(_curVal * 100), "%"]; }; { private _slider = _display displayCtrl _x; _slider sliderSetRange [0, 1]; _slider sliderSetSpeed [0.01,0.1]; _slider sliderSetPosition (GVAR(GlobalSkillAI) select _forEachIndex); _slider ctrlAddEventHandler ["SliderPosChanged", _fnc_sliderMove]; _slider call _fnc_sliderMove; } forEach [16184,16185,16186,16187]; (_display displayCtrl 16188) cbSetChecked (GVAR(GlobalSkillAI) select 4); (_display displayCtrl 16189) cbSetChecked (GVAR(GlobalSkillAI) select 5); private _fnc_onUnload = { private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); if (isNull _logic) exitWith {}; deleteVehicle _logic; }; private _fnc_onConfirm = { params [["_ctrlButtonOK", controlNull, [controlNull]]]; TRACE_1("_fnc_onConfirm params",_this); private _display = ctrlparent _ctrlButtonOK; if (isNull _display) exitWith {}; GVAR(GlobalSkillAI) = [ sliderPosition (_display displayCtrl 16184), // General sliderPosition (_display displayCtrl 16185), // Accuracy sliderPosition (_display displayCtrl 16186), // Handling sliderPosition (_display displayCtrl 16187), // Spotting cbChecked (_display displayCtrl 16188), // Seek cover cbChecked (_display displayCtrl 16189) // Autocombat ]; publicVariable QGVAR(GlobalSkillAI); // Values should persist for future use // PV EH won't run on local machine [QGVAR(GlobalSkillAI),GVAR(GlobalSkillAI)] call FUNC(moduleGlobalSetSkill); }; _display displayAddEventHandler ["unload", _fnc_onUnload]; _ctrlButtonOK ctrlAddEventHandler ["buttonclick", _fnc_onConfirm];