#include "..\script_component.hpp" /* * Author: Dslyecxi, MikeMatrix, joko // Jonas * Bind all required EventHandlers to Player map. * * Arguments: * None * * Return Value: * None * * Example: * _mapCtrl call ace_map_gestures_fnc_initDisplayDiary * * Public: No */ params ["_mapCtrl"]; TRACE_1("initDisplayDiary",_mapCtrl); _mapCtrl ctrlAddEventHandler ["Draw", { if (!GVAR(enabled)) exitWith {}; if (getClientStateNumber < 10) then { [_this select 0, GVAR(briefingMode)] call FUNC(drawMapGestures); } else { [_this select 0, [[ACE_player, GVAR(maxRange)]]] call FUNC(drawMapGestures); }; }]; // MouseMoving EH. _mapCtrl ctrlAddEventHandler ["MouseMoving", { if (!GVAR(enabled)) exitWith {}; params ["_control", "_posX", "_posY"]; GVAR(cursorPosition) = _control ctrlMapScreenToWorld [_posX, _posY]; // Don't transmit any data if we're using the map tools if (!GVAR(EnableTransmit) || {(["ace_maptools"] call EFUNC(common,isModLoaded)) && {EGVAR(maptools,mapTool_isDragging) || EGVAR(maptools,mapTool_isRotating)}}) exitWith {}; if (GVAR(cursorPosition) distance2D (ACE_player getVariable [QGVAR(pointPosition), [0, 0, 0]]) >= 1) then { [ACE_player, QGVAR(pointPosition), GVAR(cursorPosition), GVAR(interval)] call EFUNC(common,setVariablePublic); }; }]; // MouseDown EH _mapCtrl ctrlAddEventHandler ["MouseButtonDown", { if (!GVAR(enabled)) exitWith {}; params ["", "_button", "_x", "_y", "_shift", "_ctrl", "_alt"]; if (_button == 0 && {[_shift, _ctrl, _alt] isEqualTo [false, false, false]}) then { GVAR(EnableTransmit) = true; [ACE_player, QGVAR(pointPosition), GVAR(cursorPosition), GVAR(interval)] call EFUNC(common,setVariablePublic); }; }]; // MouseUp EH _mapCtrl ctrlAddEventHandler ["MouseButtonUp", { if (!GVAR(enabled)) exitWith {}; params ["", "_button"]; if (_button == 0) then { GVAR(EnableTransmit) = false; ACE_player setVariable [QGVAR(pointPosition), nil, true]; // Instantly transmit nil to stop drawing icon }; }];