2018-09-17 19:19:29 +00:00
|
|
|
#include "script_component.hpp"
|
2015-08-08 06:26:15 +00:00
|
|
|
/*
|
2015-08-10 06:45:43 +00:00
|
|
|
* Author: Dslyecxi, MikeMatrix
|
2015-08-08 06:26:15 +00:00
|
|
|
* Initializes the transmitting event handlers.
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [] call ace_map_gestures_fnc_transmitterInit
|
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
|
|
|
disableSerialization;
|
|
|
|
|
2016-10-27 17:54:58 +00:00
|
|
|
private _mapCtrl = findDisplay 12 displayCtrl 51;
|
2015-08-08 06:26:15 +00:00
|
|
|
|
|
|
|
// MouseMoving EH.
|
2015-08-24 20:03:47 +00:00
|
|
|
if (!isNil QGVAR(MouseMoveHandlerID)) then {
|
|
|
|
_mapCtrl ctrlRemoveEventHandler ["MouseMoving", GVAR(MouseMoveHandlerID)];
|
|
|
|
GVAR(MouseMoveHandlerID) = nil;
|
|
|
|
};
|
2015-08-08 06:26:15 +00:00
|
|
|
GVAR(MouseMoveHandlerID) = _mapCtrl ctrlAddEventHandler ["MouseMoving", {
|
2015-08-24 15:03:47 +00:00
|
|
|
// Don't transmit any data if we're using the map tools
|
2017-05-11 19:02:21 +00:00
|
|
|
if (!GVAR(EnableTransmit) || {(["ace_maptools"] call EFUNC(common,isModLoaded)) && {EGVAR(maptools,mapTool_isDragging) || EGVAR(maptools,mapTool_isRotating)}}) exitWith {};
|
2015-08-08 06:26:15 +00:00
|
|
|
|
|
|
|
params ["_control", "_posX", "_posY"];
|
|
|
|
|
2015-08-24 15:03:47 +00:00
|
|
|
if (!(ACE_player getVariable QGVAR(Transmit))) then {
|
|
|
|
ACE_player setVariable [QGVAR(Transmit), true, true];
|
|
|
|
};
|
2015-08-08 06:26:15 +00:00
|
|
|
|
2016-10-27 17:54:58 +00:00
|
|
|
GVAR(pointPosition) = _control ctrlMapScreenToWorld [_posX, _posY];
|
2015-08-08 06:26:15 +00:00
|
|
|
}];
|
|
|
|
|
|
|
|
// MouseDown EH
|
2015-08-24 20:03:47 +00:00
|
|
|
if (!isNil QGVAR(MouseDownHandlerID)) then {
|
|
|
|
_mapCtrl ctrlRemoveEventHandler ["MouseButtonDown",GVAR(MouseDownHandlerID)];
|
|
|
|
GVAR(MouseDownHandlerID) = nil;
|
|
|
|
};
|
2015-08-08 06:26:15 +00:00
|
|
|
GVAR(MouseDownHandlerID) = _mapCtrl ctrlAddEventHandler ["MouseButtonDown", {
|
|
|
|
if (!GVAR(enabled)) exitWith {};
|
|
|
|
|
2018-01-05 17:55:00 +00:00
|
|
|
params ["", "_button", "_x", "_y", "_shift", "_ctrl", "_alt"];
|
2015-08-08 06:26:15 +00:00
|
|
|
|
2018-01-05 17:55:00 +00:00
|
|
|
if (_button == 0 && {[_shift, _ctrl, _alt] isEqualTo [false, false, false]}) then {
|
|
|
|
call FUNC(initTransmit);
|
|
|
|
};
|
2015-08-08 06:26:15 +00:00
|
|
|
}];
|
|
|
|
|
|
|
|
// MouseUp EH
|
2015-08-24 20:03:47 +00:00
|
|
|
if (!isNil QGVAR(MouseUpHandlerID)) then {
|
|
|
|
_mapCtrl ctrlRemoveEventHandler ["MouseButtonUp", GVAR(MouseUpHandlerID)];
|
|
|
|
GVAR(MouseUpHandlerID) = nil;
|
|
|
|
};
|
2015-08-08 06:26:15 +00:00
|
|
|
GVAR(MouseUpHandlerID) = _mapCtrl ctrlAddEventHandler ["MouseButtonUp", {
|
2015-08-24 15:03:47 +00:00
|
|
|
if (!GVAR(enabled)) exitWith {};
|
|
|
|
|
2015-08-08 06:26:15 +00:00
|
|
|
params ["", "_button"];
|
|
|
|
|
2018-01-05 17:55:00 +00:00
|
|
|
if (_button == 0) then {
|
|
|
|
call FUNC(endTransmit);
|
|
|
|
};
|
2015-08-08 06:26:15 +00:00
|
|
|
}];
|