From 43846970fafccebd48aee53701fa0ce368a7a21e Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 24 Mar 2015 16:12:46 +0100 Subject: [PATCH] init drag/carry options on persons --- addons/dragging/CfgEventHandlers.hpp | 5 +++++ addons/dragging/XEH_preInit.sqf | 1 + addons/dragging/functions/fnc_initPerson.sqf | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 addons/dragging/functions/fnc_initPerson.sqf diff --git a/addons/dragging/CfgEventHandlers.hpp b/addons/dragging/CfgEventHandlers.hpp index 6a6aa440f7..f568eace4e 100644 --- a/addons/dragging/CfgEventHandlers.hpp +++ b/addons/dragging/CfgEventHandlers.hpp @@ -13,6 +13,11 @@ class Extended_PostInit_EventHandlers { }; class Extended_Init_EventHandlers { + class CAManBase { + class ADDON { + init = QUOTE(_this call DFUNC(initPerson)); + }; + }; class StaticWeapon { class ADDON { init = QUOTE(_this call DFUNC(initObject)); diff --git a/addons/dragging/XEH_preInit.sqf b/addons/dragging/XEH_preInit.sqf index 7a0be053ad..8e4749e5fe 100644 --- a/addons/dragging/XEH_preInit.sqf +++ b/addons/dragging/XEH_preInit.sqf @@ -19,6 +19,7 @@ PREP(handlePlayerChanged); PREP(handlePlayerWeaponChanged); PREP(handleScrollWheel); PREP(initObject); +PREP(initPerson); PREP(isObjectOnObject); PREP(setCarryable); PREP(setDraggable); diff --git a/addons/dragging/functions/fnc_initPerson.sqf b/addons/dragging/functions/fnc_initPerson.sqf new file mode 100644 index 0000000000..1191506ba2 --- /dev/null +++ b/addons/dragging/functions/fnc_initPerson.sqf @@ -0,0 +1,19 @@ +/* + * Author: commy2 + * + * Initialize variables for drag or carryable persons. Called from init EH. + * + * Argument: + * 0: Any Unit (Object) + * + * Return value: + * NONE. + */ +#include "script_component.hpp" + +private "_unit"; + +_unit = _this select 0; + +[_unit, true/*, _position, _direction*/] call FUNC(setDraggable); +[_unit, true/*, _position, _direction*/] call FUNC(setCarryable);