-
Notifications
You must be signed in to change notification settings - Fork 739
/
fnc_deployConfirm.sqf
58 lines (48 loc) · 1.46 KB
/
fnc_deployConfirm.sqf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "..\script_component.hpp"
/*
* Author: Kingsley
* Confirms the deployment.
*
* Arguments:
* 0: Player <OBJECT>
* 1: Fortify Object <OBJECT>
*
* Return Value:
* None
*
* Example:
* [player, wall] call ace_fortify_fnc_deployConfirm
*
* Public: No
*/
params ["_unit", "_object"];
TRACE_2("deployConfirm",_unit,_object);
private _side = side group _unit;
private _typeOf = typeOf _object;
private _cost = [_side, _typeOf] call FUNC(getCost);
[_side, -_cost] call FUNC(updateBudget);
private _posASL = getPosASL _object;
private _vectorUp = vectorUp _object;
private _vectorDir = vectorDir _object;
deleteVehicle _object;
// Create progress bar to place object
private _totalTime = _cost * GVAR(timeCostCoefficient) + GVAR(timeMin); // time = Ax + b
private _perframeCheck = {
params ["_args", "_elapsedTime", "_totalTime", "_errorCode"];
_args params ["_unit", "_side", "_typeOf", "_posASL", "_vectorDir", "_vectorUp", "_cost"];
// Animation loop (required for longer constructions)
if (animationState _unit isNotEqualTo "AinvPknlMstpSnonWnonDnon_medic4") then {
// Perform animation
[_unit, "AinvPknlMstpSnonWnonDnon_medic4"] call EFUNC(common,doAnimation);
};
// Return true always
true
};
[
_totalTime,
[_unit, _side, _typeOf, _posASL, _vectorDir, _vectorUp, _cost],
QGVAR(deployFinished),
QGVAR(deployCanceled),
LLSTRING(progressBarTitle),
_perframeCheck
] call EFUNC(common,progressBar);