mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
600b71817f
The teleport players module is reusable, while the global AI skill and group side modules should be deleted appropriately once the display is closed.
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
/*
|
|
* Author: PabstMirror
|
|
* Initalises the `global skill` zeus module display
|
|
*
|
|
* Arguments:
|
|
* 0: globalSetSkill controls group <CONTROL>
|
|
*
|
|
* Return Value:
|
|
* None <NIL>
|
|
*
|
|
* 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];
|