moves empty group cleanup run on all machines to perf module

This commit is contained in:
2024-02-13 23:13:23 -08:00
parent 5114ae334f
commit 9f89ec12d5
4 changed files with 30 additions and 8 deletions

View File

@@ -1,5 +1,27 @@
#include "..\script_component.hpp"
[
QGVAR(emptyGroupCleanup_enable),
"CHECKBOX",
"Empty Group Cleanup Enabled",
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
true,
true,
{
params ["_value"];
[
QGVAR(emptyGroupCleanup_enable),
_value
] call EFUNC(common,logSettingChanged);
if (!isNull (missionNamespace getVariable [QGVAR(emptyGroupCleanupPFH), locationNull])) then {
deleteLocation GVAR(emptyGroupCleanupPFH);
};
call FUNC(addEmptyGroupCleanupPFH);
}
] call CBA_fnc_addSetting;
//---------------------
// Server CPS
//---------------------

View File

@@ -0,0 +1,44 @@
#include "..\script_component.hpp"
[
LEVEL_INFO,
QUOTE(COMPONENT),
"Initializing empty group deletion PFH",
[]
] call EFUNC(common,log);
GVAR(emptyGroupCleanupPFH) = [
{
{
if (local _x) then {
if ((count units _x) == 0) then {
deleteGroup _x;
};
};
} forEach allGroups;
},
300,
[],
{ // on creation
[
LEVEL_INFO,
QUOTE(COMPONENT),
"Empty group deletion PFH loaded",
[]
] call EFUNC(common,log);
},
{ // on deletion
[
LEVEL_INFO,
QUOTE(COMPONENT),
"Empty group deletion PFH unloaded",
[]
] call EFUNC(common,log);
},
{ (missionNamespace getVariable [QGVAR(emptyGroupCleanup_enable), false]) },
{ not (missionNamespace getVariable [QGVAR(emptyGroupCleanup_enable), false]) },
[]
] call CBA_fnc_createPerFrameHandlerObject;