/*
	Author: Andrew Gregory - EpochMod.com

    Contributors: Aaron Clark

	Description:
	Spawn drone function

    Licence:
    Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike

    Github:
    https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_supportCopter.sqf
*/
//[[[cog import generate_private_arrays ]]]
private ["_SpawnTypes","_Spawncounts","_UnitType","_arrUnits","_idx","_maxunitCount","_minunitCount","_unitCount"];
//[[[end]]]
params ["_pos","_copter"];

_arrUnits = getArray (getMissionConfig "CfgEpochUAVSupport" >> "unitTypes");
_minunitCount = getNumber (getMissionConfig "CfgEpochUAVSupport" >> "minUnitNum");
_maxunitCount = getNumber (getMissionConfig "CfgEpochUAVSupport" >> "maxUnitNum");
_unitCount = _minunitCount + round (random (_maxunitCount - _minunitCount));

_SpawnTypes = [];
_Spawncounts = [];
for "_i" from 1 to _unitCount do {
	_UnitType = selectRandom _arrUnits;
	_idx = _SpawnTypes find _UnitType;
	if (_idx == -1) then {
		_SpawnTypes pushback _UnitType;
		_Spawncounts pushback 1;
	}
	else {
		_Spawncounts set [_idx,(_Spawncounts select _idx)+ 1];
	};
};

{
    [_SpawnTypes select _foreachindex, player, true, _x, _this] call EPOCH_unitSpawn;
} forEach _Spawncounts;