mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Update laser code if laser is already on (#4677)
This commit is contained in:
parent
5f7f26ef18
commit
491aaa89cb
@ -17,6 +17,16 @@
|
||||
};
|
||||
}] call CBA_fnc_addEventHandler;
|
||||
|
||||
[QGVAR(updateCode), {
|
||||
params ["_uuid", "_newCode"];
|
||||
TRACE_2("ace_laser_updateCode eh",_uuid,_newCode);
|
||||
if ([GVAR(laserEmitters), _uuid] call CBA_fnc_hashHasKey) then {
|
||||
private _laserArray = [GVAR(laserEmitters), _uuid] call CBA_fnc_hashGet;
|
||||
TRACE_2("updating",_newCode,_laserArray select 4);
|
||||
_laserArray set [4, _newCode];
|
||||
};
|
||||
}] call CBA_fnc_addEventHandler;
|
||||
|
||||
// Shows detector and mine posistions in 3d when debug is on
|
||||
#ifdef DRAW_LASER_INFO
|
||||
addMissionEventHandler ["Draw3D", {_this call FUNC(dev_drawVisibleLaserTargets)}];
|
||||
|
@ -50,7 +50,7 @@ private _methodArgs = [_vehicleSourceSelection];
|
||||
TRACE_6("Laser on:",_vehicle,_laserMethod,_waveLength,_laserCode,_beamSpread,_methodArgs);
|
||||
private _laserUuid = [_vehicle, _vehicle, _laserMethod, _waveLength, _laserCode, _beamSpread, _methodArgs] call FUNC(laserOn);
|
||||
|
||||
GVAR(trackedLaserTargets) pushBack [_targetObject, _vehicle, _laserUuid];
|
||||
GVAR(trackedLaserTargets) pushBack [_targetObject, _vehicle, _laserUuid, _laserCode];
|
||||
TRACE_1("",GVAR(trackedLaserTargets));
|
||||
|
||||
if (GVAR(pfehID) == -1) then {
|
||||
|
@ -18,7 +18,7 @@
|
||||
params ["", "_pfhuid"];
|
||||
|
||||
GVAR(trackedLaserTargets) = GVAR(trackedLaserTargets) select {
|
||||
_x params ["_targetObject", "_owner", "_laserUuid"];
|
||||
_x params ["_targetObject", "_owner", "_laserUuid", "_laserCode"];
|
||||
if ((isNull _targetObject) ||
|
||||
{!(alive _targetObject)} ||
|
||||
{isNull _owner} ||
|
||||
@ -29,6 +29,12 @@ GVAR(trackedLaserTargets) = GVAR(trackedLaserTargets) select {
|
||||
TRACE_1("Laser off:", _laserUuid);
|
||||
false
|
||||
} else {
|
||||
private _newCode = _owner getVariable [QEGVAR(laser,code), ACE_DEFAULT_LASER_CODE];
|
||||
if (_laserCode != _newCode) then {
|
||||
TRACE_2("code change",_newCode,_laserCode);
|
||||
[QGVAR(updateCode), [_laserUuid, _newCode]] call CBA_fnc_globalEvent;
|
||||
_x set [3, _newCode];
|
||||
};
|
||||
true
|
||||
};
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user