mirror of
https://github.com/valmojr/armatak.git
synced 2026-06-13 18:53:28 +00:00
Added handler for turreted drones to share multiple camera components to UAS Tool
This commit is contained in:
@@ -6,13 +6,20 @@ params["_unit"];
|
||||
|
||||
private _callsign = "";
|
||||
private _displayName = localize (getText (configOf _unit >> "displayName"));
|
||||
private _markerCallsignOverride = _unit getVariable ["armatak_attribute_marker_callsign", ""];
|
||||
|
||||
if (_markerCallsignOverride isNotEqualTo "") exitWith {
|
||||
_markerCallsignOverride
|
||||
};
|
||||
|
||||
if (_displayName isEqualTo "") then {
|
||||
_displayName = typeOf _unit;
|
||||
};
|
||||
|
||||
private _vehicleName = vehicleVarName _unit;
|
||||
|
||||
if ((([_unit] call BIS_fnc_objectType) select 0) == "Vehicle") then {
|
||||
_callsign = _displayName;
|
||||
_callsign = [_displayName, _vehicleName] select (_vehicleName isNotEqualTo "");
|
||||
|
||||
if (!isNull driver _unit) then {
|
||||
_callsign = _displayName + " | " + ([name (driver _unit)] call armatak_fnc_shorten_name);
|
||||
@@ -20,7 +27,13 @@ if ((([_unit] call BIS_fnc_objectType) select 0) == "Vehicle") then {
|
||||
};
|
||||
|
||||
if (unitIsUAV _unit) then {
|
||||
_callsign = _displayName;
|
||||
_callsign = [_displayName, _vehicleName] select (_vehicleName isNotEqualTo "");
|
||||
|
||||
private _uavControl = UAVControl _unit;
|
||||
private _controller = _uavControl param [0, objNull];
|
||||
if (!isNull _controller) then {
|
||||
_callsign = _callsign + " | " + ([name _controller] call armatak_fnc_shorten_name);
|
||||
};
|
||||
|
||||
if (isUAVConnected _unit) then {
|
||||
_callsign = _callsign + " [ON]";
|
||||
@@ -29,10 +42,8 @@ if (unitIsUAV _unit) then {
|
||||
}
|
||||
};
|
||||
|
||||
private _markerCallsignOverride = _unit getVariable ["armatak_attribute_marker_callsign", ""];
|
||||
|
||||
if (_markerCallsignOverride isNotEqualTo "") then {
|
||||
_callsign = _markerCallsignOverride;
|
||||
if (_callsign isEqualTo "") then {
|
||||
_callsign = _displayName;
|
||||
};
|
||||
|
||||
_callsign
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
params ["_drone"];
|
||||
params ["_drone", ["_cameraMode", "turret"]];
|
||||
|
||||
private _override = _drone getVariable ["armatak_uas_camera_data_override", []];
|
||||
private _isLocalController = hasInterface && {!isNull player} && {(getConnectedUAV player) isEqualTo _drone};
|
||||
@@ -22,16 +22,18 @@ private _cameraDir = [];
|
||||
private _spiASL = [];
|
||||
private _slantRange = 0;
|
||||
|
||||
private _laserTarget = laserTarget _drone;
|
||||
if (!isNull _laserTarget) then {
|
||||
private _laserTargetWorld = getPosWorld _laserTarget;
|
||||
private _laserTargetAslZ = (getPosASL _laserTarget) select 2;
|
||||
_spiASL = [_laserTargetWorld select 0, _laserTargetWorld select 1, _laserTargetAslZ];
|
||||
_cameraDir = _spiASL vectorDiff _originASL;
|
||||
_slantRange = _originASL vectorDistance _spiASL;
|
||||
if (_cameraMode isNotEqualTo "fpv") then {
|
||||
private _laserTarget = laserTarget _drone;
|
||||
if (!isNull _laserTarget) then {
|
||||
private _laserTargetWorld = getPosWorld _laserTarget;
|
||||
private _laserTargetAslZ = (getPosASL _laserTarget) select 2;
|
||||
_spiASL = [_laserTargetWorld select 0, _laserTargetWorld select 1, _laserTargetAslZ];
|
||||
_cameraDir = _spiASL vectorDiff _originASL;
|
||||
_slantRange = _originASL vectorDistance _spiASL;
|
||||
};
|
||||
};
|
||||
|
||||
if (_cameraDir isEqualTo []) then {
|
||||
if (_cameraDir isEqualTo [] && {_cameraMode isNotEqualTo "fpv"}) then {
|
||||
private _uavControl = UAVControl _drone;
|
||||
private _controlledTurretPath = _uavControl param [1, []];
|
||||
private _candidateTurrets = [];
|
||||
|
||||
Reference in New Issue
Block a user