/* * Author: Dslyecxi, MikeMatrix * Initializes the transmitting event handlers. * * Arguments: * None * * Return Value: * None * * Example: * [] call ace_map_gestures_fnc_transmitterInit * * Public: No */ #include "script_component.hpp" private ["_mapCtrl", "_unitUID", "_drawPosVariableName"]; disableSerialization; _mapCtrl = findDisplay 12 displayCtrl 51; // MouseMoving EH. if (!isNil QGVAR(MouseMoveHandlerID)) then { _mapCtrl ctrlRemoveEventHandler ["MouseMoving", GVAR(MouseMoveHandlerID)]; GVAR(MouseMoveHandlerID) = nil; }; GVAR(MouseMoveHandlerID) = _mapCtrl ctrlAddEventHandler ["MouseMoving", { // Don't transmit any data if we're using the map tools if (!GVAR(EnableTransmit) || EGVAR(maptools,drawing_isDrawing) || EGVAR(maptools,mapTool_isDragging) || EGVAR(maptools,mapTool_isRotating)) exitWith {}; params ["_control", "_posX", "_posY"]; if (!(ACE_player getVariable QGVAR(Transmit))) then { ACE_player setVariable [QGVAR(Transmit), true, true]; }; _unitUID = getPlayerUID ACE_player; _drawPosVariableName = if (!isNil "_unitUID" && _unitUID != "") then {format [QGVAR(%1_DrawPos), _unitUID]} else {nil}; if (!isNil "_drawPosVariableName") then { missionNamespace setVariable [_drawPosVariableName, _control ctrlMapScreenToWorld [_posX, _posY]]; }; }]; // MouseDown EH if (!isNil QGVAR(MouseDownHandlerID)) then { _mapCtrl ctrlRemoveEventHandler ["MouseButtonDown",GVAR(MouseDownHandlerID)]; GVAR(MouseDownHandlerID) = nil; }; GVAR(MouseDownHandlerID) = _mapCtrl ctrlAddEventHandler ["MouseButtonDown", { if (!GVAR(enabled)) exitWith {}; params ["", "_button"]; if (_button == 0) then {call FUNC(initTransmit);}; }]; // MouseUp EH if (!isNil QGVAR(MouseUpHandlerID)) then { _mapCtrl ctrlRemoveEventHandler ["MouseButtonUp", GVAR(MouseUpHandlerID)]; GVAR(MouseUpHandlerID) = nil; }; GVAR(MouseUpHandlerID) = _mapCtrl ctrlAddEventHandler ["MouseButtonUp", { if (!GVAR(enabled)) exitWith {}; params ["", "_button"]; if (_button == 0) then {call FUNC(endTransmit);}; }];