ACE3/addons/map_gestures/functions/fnc_transmitterInit.sqf
commy2 3c41d37417 overhaul movable markers (#5922)
* overhaul movable markers

* moving markers setting

* disable debug

* fix conflict with map gestures
2018-01-05 18:55:00 +01:00

69 lines
1.9 KiB
Plaintext

/*
* 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"
disableSerialization;
private _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) || {(["ace_maptools"] call EFUNC(common,isModLoaded)) && {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];
};
GVAR(pointPosition) = _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", "_x", "_y", "_shift", "_ctrl", "_alt"];
if (_button == 0 && {[_shift, _ctrl, _alt] isEqualTo [false, false, false]}) 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);
};
}];