Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private _objects = [
- "Land_fort_bagfence_round",
- "Land_fort_rampart",
- "Land_fort_rampart_EP1",
- "Land_fortified_nest_small",
- "Land_fortified_nest_small_EP1",
- "Land_Fort_Watchtower",
- "Land_Fort_Watchtower_EP1",
- "Land_fortified_nest_big_EP1",
- "Land_fortified_nest_big",
- "Land_HBarrier_5_F",
- "Land_HBarrier_3_F",
- "Land_HBarrier_1_F",
- "Land_BagBunker_01_small_green_F",
- "Land_BagBunker_Large_F",
- "Land_BagBunker_Small_F",
- "Land_BagBunker_Tower_F",
- "Land_HBarrier_01_line_5_green_F",
- "Land_HBarrier_01_line_3_green_F",
- "Land_HBarrier_01_line_1_green_F",
- "Fort_Razorwire",
- "Land_CncBlock",
- "Land_fort_bagfence_corner",
- "Land_BagFenceShort",
- "Land_BagFenceLong",
- "Land_BagFenceRound",
- "Land_CncBlock_stripes",
- "Land_CncBlock_stripes_f"
- ];
- ARC_basebuilder_addObjectAction = {
- _this addAction ["Pick up", {
- params ["_target", "_caller", "_id"];
- _target removeAction _id;
- private _handle = [{
- params ["_args", "_handle"];
- _args params ["_target", "_caller"];
- private _start = positionCameraToWorld [0,0,0];
- private _end = (_start vectorAdd (getCameraViewDirection _caller vectorMultiply 8));
- player setVariable ["ARC_isDragging", true];
- _target attachTo [_caller, _caller worldToModel _end, "Pelvis"];
- }, 0, _this] call CBA_fnc_addPerFrameHandler;
- player setVariable ["ARC_objectBeingDragged", _target];
- private _directionHandler = ["KeyDown", {
- params ["_display", "_dik", "_shift", "_ctrl", "_alt"];
- // Q = 16, E = 18
- if !(_dik in [16, 18]) exitWith {};
- private _object = player getVariable ["ARC_objectBeingDragged", objNull];
- if (!isNull _object) then {
- private _direction = getDir _object;
- private _modifier = 0.1 * ([1, -1] select (_dik == 16));
- private _newDir = _direction + _modifier;
- _object setDir _newDir;
- };
- true
- }] call CBA_fnc_addDisplayHandler;
- _caller addAction ["Detach", {
- params ["_target", "_caller", "_id", "_args"];
- _args params ["_object", "_pfhHandle", "_directionHandler"];
- _target removeAction _id;
- {detach _x} forEach attachedObjects _target;
- _target setVariable ["ARC_isDragging", false];
- [_pfhHandle] call CBA_fnc_removePerFrameHandler;
- ["KeyDown", _directionHandler] call CBA_fnc_removeDisplayHandler;
- _object call ARC_basebuilder_addObjectAction;
- }, [_target, _handle, _directionHandler]];
- }, nil, 1.5, true, true, "", "!(player getVariable ['ARC_isDragging', false])"];
- };
- {
- {
- _x call ARC_basebuilder_addObjectAction;
- } forEach (allMissionObjects _x);
- } forEach _objects;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement