change vehicle flag actions to use class inheritance instead of object
This commit is contained in:
@@ -15,19 +15,10 @@ private _flagCategoryCfgs = (_vehicleFlagsCfg >> "FlagCategories") call BIS_fnc_
|
||||
{ // forEach _baseClassesToApplyActionsFor
|
||||
private _parentClass = _x;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// add CBA class event handler to add actions to vehicles after they are initialized
|
||||
// all classes that inherit from the base classes will also have this applied
|
||||
// an exclusion function is present for manually excluding specific classes
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
[_parentClass, "InitPost", {
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// create the root action
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
private _rootActionID = "SetVehicleFlag";
|
||||
private _rootActionID = QGVAR(SetVehicleFlagAction);
|
||||
private _flagRootAction = [
|
||||
_rootActionID, // id
|
||||
"Set Vehicle Flag", // displayed title
|
||||
@@ -69,11 +60,12 @@ private _flagCategoryCfgs = (_vehicleFlagsCfg >> "FlagCategories") call BIS_fnc_
|
||||
// add root action to add flags
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
[
|
||||
(_this select 0), // object
|
||||
_parentClass, // parent classname
|
||||
0, // action 0 or self-action 1
|
||||
["ACE_MainActions"], // parent
|
||||
_flagRootAction // action
|
||||
] call ace_interact_menu_fnc_addActionToObject;
|
||||
_flagRootAction, // action
|
||||
true // apply to child classes
|
||||
] call ace_interact_menu_fnc_addActionToClass;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// add action to remove flag under the root action
|
||||
@@ -97,13 +89,13 @@ private _flagCategoryCfgs = (_vehicleFlagsCfg >> "FlagCategories") call BIS_fnc_
|
||||
// add the action to the vehicle
|
||||
// in this class event handler, this#0 will be the vehicle
|
||||
[
|
||||
(_this select 0), // object
|
||||
_parentClass, // parent classname
|
||||
0, // action 0 or self-action 1
|
||||
["ACE_MainActions", _rootActionID], // parent
|
||||
_removeFlagAction // action
|
||||
] call ace_interact_menu_fnc_addActionToObject;
|
||||
_removeFlagAction, // action
|
||||
true // apply to child classes
|
||||
] call ace_interact_menu_fnc_addActionToClass;
|
||||
|
||||
}, true, [], true] call CBA_fnc_addClassEventHandler;
|
||||
} forEach _baseClassesToApplyActionsFor;
|
||||
|
||||
nil;
|
||||
Reference in New Issue
Block a user