DMS_Exile/@ExileServer/addons/a3_dms/scripts/CleanUpManager.sqf

55 lines
1.1 KiB
Plaintext

/*
DMS_CleanUpManager
Created by eraser1
Objects to be cleaned up together have an entry in "DMS_CleanUpList"
The list is formatted as:
[
[
_objectToClean1,
_objectToClean2,
...
_objectToCleanN
],
_timeAddedToList,
_timeUntilClean
]
A single object can also be used for (_this select 0)
*/
if (DMS_CleanUpList isEqualTo []) exitWith {}; // Empty array, no objects to clean :)
{
if (DMS_DEBUG) then
{
diag_log format ["DMS_DEBUG CleanUpManager :: Checking Cleaning Status for: %1",_x];
};
private ["_objs","_timeAddedToList","_timeUntilClean"];
_OK = params
[
["_objs",[objNull],[objNull,[]]],
["_timeAddedToList",diag_tickTime,[0]],
["_timeUntilClean",DMS_CompletedMissionCleanupTime,[0]]
];
if (!_OK) then
{
diag_log format ["DMS ERROR :: Invalid parameters for DMS_CleanUpManager: %1 replaced with %2",_x,[_objs,_timeAddedToList,_timeUntilClean]];
};
if ((diag_tickTime-_timeAddedToList)>=_timeUntilClean) then
{
_objs call DMS_CleanUp;
}
else
{
if (DMS_DEBUG) then
{
diag_log format ["DMS_DEBUG CleanUpManager :: %1 is not yet ready to clean!",_x];
};
};
false;
} count DMS_CleanUpList;