summaryrefslogtreecommitdiffstats
path: root/Client/GUI/GUI_Menu_EASA.sqf
blob: 66f929e59eeddf17de6c2c656035a742d1491a95 (plain)
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
MenuAction = -1;

_type = ('WFBE_EASA_Vehicles' Call GetNamespace) find (typeOf (vehicle player));
if (_type == -1) exitWith {diag_log Format['[WFBE (ERROR)][frameno:%2 | ticktime:%3] GUI_EASA: The player vehicle was not found within the list (%1)',_type,diag_frameno,diag_tickTime]};
_data = (('WFBE_EASA_Loadouts' Call GetNamespace) select _type);


_listPrice = [];
_listDesc = [];
_listBox = 23003;
for [{_i = 0},{_i < count(_data)},{_i = _i + 1}] do {
	_cdata = _data select _i;
	for [{_j = 0},{_j < count(_cdata)},{_j = _j + 1}] do {
		if (_j == 0) then {_listPrice = _listPrice + [(_cdata select 0) select 0]};
		if (_j == 1) then {
			_listDesc = _listDesc + [(_cdata select 1) select 0];
			lnbAddRow [_listBox,["$"+str((_cdata select 0) select 0)+".",(_cdata select 1) select 0]]};
		if (_j > 1) then {
		};
	};
};

if (count _listPrice > 0) then {lnbSetCurSelRow [_listBox,0]} else {lnbSetCurSelRow [_listBox,-1]};

while {alive player && dialog} do {
	sleep 0.1;
	
	if (side player != sideJoined) exitWith {closeDialog 0};
	if !(dialog) exitWith {};
	
	//--- Command AI.
	if (MenuAction == 101) then {
		MenuAction = -1;
		_funds = Call GetPlayerFunds;
		
		_iddx = lnbCurSelRow _listBox;
		if (_iddx != -1) then {
			if (_funds > (_listPrice select _iddx)) then {
				[vehicle player, _iddx, true] Call EASA_Equip;
				-(_listPrice select _iddx) Call ChangePlayerFunds;
				hint parseText(Format[localize 'STR_WF_INFO_EASA_Purchase',(_listDesc select _iddx)]);
				closeDialog 0;
			} else {
				hint parseText(Format[localize 'STR_WF_INFO_Funds_Missing',(_listPrice select _iddx) - _funds,_listDesc select _iddx]);
			};
		};
	};
};