mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Interact Menu - Cache config actions for CAManBase (#6818)
* Interact Menu - Cache config actions for CaManBase * Update addons/interact_menu/functions/fnc_compileMenu.sqf Co-Authored-By: PabstMirror <pabstmirror@gmail.com> * Update addons/interact_menu/XEH_preInit.sqf Co-Authored-By: PabstMirror <pabstmirror@gmail.com> * Apply suggestions from code review Co-Authored-By: PabstMirror <pabstmirror@gmail.com>
This commit is contained in:
parent
11f511d660
commit
3ee3c5de5a
@ -15,6 +15,10 @@ if (!hasInterface) exitWith { ADDON = true; };
|
||||
GVAR(ActNamespace) = [] call CBA_fnc_createNamespace;
|
||||
GVAR(ActSelfNamespace) = [] call CBA_fnc_createNamespace;
|
||||
|
||||
// Compile actions for CAManBase now and use for all mans types
|
||||
["CAManBase"] call FUNC(compileMenu);
|
||||
GVAR(cacheManActions) = +(GVAR(ActNamespace) getVariable ["CAManBase", []]); // copy
|
||||
|
||||
// Event handlers for all interact menu controls
|
||||
DFUNC(handleMouseMovement) = {
|
||||
if (GVAR(cursorKeepCentered)) then {
|
||||
|
@ -26,6 +26,15 @@ private _namespace = GVAR(ActNamespace);
|
||||
// Exit if the action menu is already compiled for this class
|
||||
if !(isNil {_namespace getVariable _objectType}) exitWith {};
|
||||
|
||||
if ((_objectType isKindOf "CAManBase") && {!isNil QGVAR(cacheManActions)}) exitWith {
|
||||
_namespace setVariable [_objectType, +GVAR(cacheManActions)]; // copy
|
||||
};
|
||||
|
||||
if ((getNumber (configFile >> "CfgVehicles" >> _objectType >> "isPlayableLogic")) == 1) exitWith {
|
||||
TRACE_1("skipping playable logic",_objectType);
|
||||
_namespace setVariable [_objectType, []];
|
||||
};
|
||||
|
||||
private _recurseFnc = {
|
||||
params ["_actionsCfg", "_parentDistance"];
|
||||
private _actions = [];
|
||||
@ -106,11 +115,6 @@ private _recurseFnc = {
|
||||
_actions
|
||||
};
|
||||
|
||||
if ((getNumber (configFile >> "CfgVehicles" >> _objectType >> "isPlayableLogic")) == 1) exitWith {
|
||||
TRACE_1("skipping playable logic",_objectType);
|
||||
_namespace setVariable [_objectType, []];
|
||||
};
|
||||
|
||||
private _actionsCfg = configFile >> "CfgVehicles" >> _objectType >> "ACE_Actions";
|
||||
|
||||
TRACE_1("Building ACE_Actions",_objectType);
|
||||
|
Loading…
Reference in New Issue
Block a user