#include "script_component.hpp" /* * Author: alganthe, mharis001 * Initializes the "Garrison" Zeus module display. * * Arguments: * 0: Garrison controls group * * Return Value: * None * * Example: * [CONTROL] call ace_zeus_fnc_ui_garrison * * Public: No */ 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("Logic Object",_logic); _control ctrlRemoveAllEventHandlers "SetFocus"; // Validate module target private _unit = effectiveCommander attachedTo _logic; scopeName "Main"; private _fnc_errorAndClose = { params ["_msg"]; _display closeDisplay 0; deleteVehicle _logic; [_msg] call FUNC(showMessage); breakOut "Main"; }; switch (false) do { case !(isNull _unit): { [LSTRING(NothingSelected)] call _fnc_errorAndClose; }; case (_unit isKindOf "CAManBase"): { [LSTRING(OnlyInfantry)] call _fnc_errorAndClose; }; case (alive _unit): { [LSTRING(OnlyAlive)] call _fnc_errorAndClose; }; case !(isPlayer _unit): { ["str_a3_cfgvehicles_moduleremotecontrol_f_errorPlayer"] call _fnc_errorAndClose; }; }; // Specific onLoad stuff private _fnc_onUnload = { private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; deleteVehicle _logic; }; private _fnc_onConfirm = { params [["_ctrlButtonOK", controlNull, [controlNull]]]; private _display = ctrlParent _ctrlButtonOK; if (isNull _display) exitWith {}; private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; private _radius = GETVAR(_display,GVAR(radius),50); private _teleport = lbCurSel (_display displayCtrl 73061) > 0; private _topDown = lbCurSel (_display displayCtrl 73062) > 0; private _fillingMode = lbCurSel (_display displayCtrl 73063); [_logic, getPos _logic, _radius, _fillingMode, _topDown, _teleport] call FUNC(moduleGarrison); }; _display displayAddEventHandler ["Unload", _fnc_onUnload]; _ctrlButtonOK ctrlAddEventHandler ["ButtonClick", _fnc_onConfirm];