ACE3/addons/optionsmenu/functions/fnc_onServerSaveInputField.sqf
2015-08-11 04:15:55 -05:00

51 lines
1.6 KiB
Plaintext

/*
* Author: Glowbal
* Called when the listbox selection is changed for an options (eg: chaning a setting from false to true)
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onListBoxSettingsChanged
*
* Public: No
*/
#include "script_component.hpp"
private ["_settingIndex", "_inputText", "_setting", "_settingName", "_convertedValue"];
_inputText = ctrlText 414; //Index of right drop down
_settingIndex = -1;
if (((lnbCurSelRow 200) >= 0) && {(lnbCurSelRow 200) < ((lnbSize 200) select 0)}) then {
_settingIndex = lnbValue [200, [(lnbCurSelRow 200), 0]];
};
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_SERVER_VALUES): {
if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(serverSideValues)))) then {
try {
_setting = (GVAR(serverSideValues) select _settingIndex);
_settingName = _setting select 0;
_convertedValue = switch (toUpper (_setting select 1)) do {
case "STRING": {
ctrlSetText [414, _inputText call FUNC(stringEscape)];
format ['%1', _inputText call FUNC(stringEscape)];
};
case "ARRAY": {format [call compile "[%1]", _inputText]};
case "SCALAR": {parseNumber _inputText;};
default {throw "Error"};
};
[MENU_TAB_SERVER_VALUES, _settingName, _convertedValue] call FUNC(updateSetting);
} catch {
};
};
[false] call FUNC(serverSettingsMenuUpdateList);
};
};