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(ActNamespace) = [] call CBA_fnc_createNamespace;
|
||||||
GVAR(ActSelfNamespace) = [] 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
|
// Event handlers for all interact menu controls
|
||||||
DFUNC(handleMouseMovement) = {
|
DFUNC(handleMouseMovement) = {
|
||||||
if (GVAR(cursorKeepCentered)) then {
|
if (GVAR(cursorKeepCentered)) then {
|
||||||
|
@ -26,6 +26,15 @@ private _namespace = GVAR(ActNamespace);
|
|||||||
// Exit if the action menu is already compiled for this class
|
// Exit if the action menu is already compiled for this class
|
||||||
if !(isNil {_namespace getVariable _objectType}) exitWith {};
|
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 = {
|
private _recurseFnc = {
|
||||||
params ["_actionsCfg", "_parentDistance"];
|
params ["_actionsCfg", "_parentDistance"];
|
||||||
private _actions = [];
|
private _actions = [];
|
||||||
@ -106,11 +115,6 @@ private _recurseFnc = {
|
|||||||
_actions
|
_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";
|
private _actionsCfg = configFile >> "CfgVehicles" >> _objectType >> "ACE_Actions";
|
||||||
|
|
||||||
TRACE_1("Building ACE_Actions",_objectType);
|
TRACE_1("Building ACE_Actions",_objectType);
|
||||||
|
Loading…
Reference in New Issue
Block a user