ACE3/addons/ui/functions/fnc_compileConfigUI.sqf
Grim 59af3e1f6d
General - Change CBA Namespaces to HashMap (#8801)
* medical_treatment

* advanced_throwing

* common, csw

* Update fnc_replaceRegisteredItems.sqf

* Sanitised numerous components

* Update XEH_postInit.sqf

* Update XEH_postInit.sqf

* FUNC -> LINKFUNC

* Changed tagging hashmap

* Reverted some changes

* Reverted some changes

* Update XEH_clientInit.sqf

* Tweaks and fixes

* Fix number replacements

* Minor cleanup

* Update fnc_getMagazineName.sqf

* Update fnc_getMagazineName.sqf

* Minor improvement

* Made factions case-sensitive and added `toLowerANSI` to be safe

* Update fnc_getDetectedObject.sqf

* Update addons/common/functions/fnc_actionKeysNamesConverted.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Throw error if item doesn't exist

---------

Co-authored-by: Salluci <69561145+Salluci@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-06-11 12:34:32 -03:00

46 lines
1.2 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: Jonpas
* Compiles and caches UI from ACE_UI config.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ace_ui_fnc_compileConfigUI
*
* Public: No
*/
{
private _failure = false;
private _class = toLowerANSI (configName _x);
private _idd = getNumber (_x >> "idd");
private _elements = getArray (_x >> "elements");
if (_elements isEqualTo []) then {
ERROR_1("Failed compiling ACE_UI for Element: %1 - missing elements",_class);
_failure = true;
};
private _location = getNumber (_x >> "location");
if !(_location in [ANYWHERE, GROUND_ONLY, VEHICLE_ONLY]) then {
ERROR_2("Failed compiling ACE_UI for Element: %1 - missing or invalid location %2",_class,_location);
_failure = true;
};
if (!_failure) then {
private _conditions = [];
{
_conditions pushBack [compile (getText _x), configName _x];
TRACE_1("Caching Condition",_x);
} forEach (configProperties [_x >> "conditions"]);
GVAR(configCache) set [_class, [_idd, _elements, _location, _conditions]];
};
} forEach ("true" configClasses (configFile >> "ACE_UI"));