ACE3/addons/optionsmenu/functions/fnc_updateSetting.sqf

48 lines
959 B
Plaintext
Raw Normal View History

/**
* fnc_updateSetting.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
#include "script_component.hpp"
2015-01-21 19:53:05 +00:00
private ["_changed"];
2015-01-21 22:27:53 +00:00
PARAMS_3(_type,_name,_newValue);
_changed = false;
switch (_type) do {
2015-01-21 19:53:05 +00:00
case (MENU_TAB_OPTIONS): {
2015-01-21 22:27:53 +00:00
{
if ((_x select 0) == _name) then {
if ((_x select 1) == "BOOL") then {
_newValue = [false, true] select _newValue;
};
if !((_x select 8) isEqualTo _newValue) then {
_changed = true;
_x set [8, _newValue];
} ;
2015-01-21 22:27:53 +00:00
};
} foreach GVAR(clientSideOptions);
};
2015-01-21 19:53:05 +00:00
case (MENU_TAB_COLORS): {
2015-01-21 22:27:53 +00:00
{
if (((_x select 0) == _name) && {!((_x select 8) isEqualTo _newValue)}) then {
2015-01-21 22:27:53 +00:00
_changed = true;
_x set [8, _newValue];
2015-01-21 22:27:53 +00:00
};
} foreach GVAR(clientSideColors);
};
2015-01-21 19:53:05 +00:00
};
if (_changed) then {
profileNamespace setVariable [_name, _newValue];
[_name, _newValue] call EFUNC(common,setSetting);
};