@@ -35,7 +35,7 @@ function MissionListColumn.New(label, color, scrollType, _maxItems)
35
35
Pagination = handler ,
36
36
Order = 0 ,
37
37
Parent = nil ,
38
- ParentTab = 0 ,
38
+ ParentTab = nil ,
39
39
Items = {} --[[ @type table<number, FriendItem>]] ,
40
40
_unfilteredItems = {} --[[ @type table<number, FriendItem>]] ,
41
41
OnIndexChanged = function (index )
@@ -81,10 +81,10 @@ function MissionListColumn:CurrentSelection(value)
81
81
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_MISSIONS_SELECTION" , self .Pagination :ScaleformIndex ()) --[[ @as number]]
82
82
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_MISSIONS_QTTY" , self :CurrentSelection (), # self .Items ) --[[ @as number]]
83
83
self .Items [self :CurrentSelection ()]:Selected (true )
84
- elseif pSubT == " PauseMenu" then
85
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_SELECTION" , self .ParentTab , self . Pagination :ScaleformIndex ()) --[[ @as number]]
86
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_QTTY" , self . ParentTab , self :CurrentSelection (), # self .Items ) --[[ @as number]]
87
- if self .Parent :Index () == self .ParentTab + 1 and self .Parent :FocusLevel () == 1 then
84
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
85
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_SELECTION" , self .Pagination :ScaleformIndex ()) --[[ @as number]]
86
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_QTTY" , self :CurrentSelection (), # self .Items ) --[[ @as number]]
87
+ if self .Parent :Index () == IndexOf ( self .Parent . Tabs , self . ParentTab ) and self .Parent :FocusLevel () == 1 then
88
88
self .Items [self :CurrentSelection ()]:Selected (true )
89
89
end
90
90
end
@@ -115,8 +115,8 @@ function MissionListColumn:AddMissionItem(item)
115
115
self .Pagination :MaxItem (self .Pagination :CurrentPageEndIndex ())
116
116
self :_itemCreation (self .Pagination :CurrentPage (), # self .Items , false )
117
117
local pSubT = self .Parent ()
118
- if pSubT == " PauseMenu" then
119
- if self .Parent . Tabs [ self . ParentTab + 1 ] .listCol [self .Parent . Tabs [ self . ParentTab + 1 ] :Focus ()] == self then
118
+ if pSubT == " PauseMenu" and self . ParentTab . Visible then
119
+ if self .ParentTab .listCol [self .ParentTab :Focus ()] == self then
120
120
self :CurrentSelection (sel )
121
121
end
122
122
end
@@ -146,8 +146,8 @@ function MissionListColumn:_itemCreation(page, pageIndex, before, overflow)
146
146
local pSubT = self .Parent ()
147
147
if pSubT == " LobbyMenu" then
148
148
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" ADD_MISSIONS_ITEM" , before , menuIndex , 0 , item .Label , item .MainColor , item .HighlightColor , item .LeftIcon , item .LeftIconColor , item .RightIcon , item .RightIconColor , item .RightIconChecked , item .enabled )
149
- elseif pSubT == " PauseMenu" then
150
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" ADD_PLAYERS_TAB_MISSIONS_ITEM" , self . ParentTab , before , menuIndex , 0 , item .Label , item .MainColor , item .HighlightColor , item .LeftIcon , item .LeftIconColor , item .RightIcon , item .RightIconColor , item .RightIconChecked , item .enabled )
149
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
150
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" ADD_PLAYERS_TAB_MISSIONS_ITEM" , before , menuIndex , 0 , item .Label , item .MainColor , item .HighlightColor , item .LeftIcon , item .LeftIconColor , item .RightIcon , item .RightIconColor , item .RightIconChecked , item .enabled )
151
151
end
152
152
end
153
153
@@ -164,9 +164,8 @@ function MissionListColumn:RemoveItem(item)
164
164
local pSubT = self .Parent ()
165
165
if pSubT == " LobbyMenu" then
166
166
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" REMOVE_MISSIONS_ITEM" , id - 1 )
167
- elseif pSubT == " PauseMenu" then
168
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" REMOVE_PLAYERS_TAB_MISSIONS_ITEM" ,
169
- self .ParentTab , id - 1 )
167
+ elseif pSubT == " PauseMenu" and self .ParentTab .Visible then
168
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" REMOVE_PLAYERS_TAB_MISSIONS_ITEM" , id - 1 )
170
169
end
171
170
end
172
171
table.remove (self .Items , id )
@@ -183,15 +182,15 @@ function MissionListColumn:GoUp()
183
182
local pSubT = self .Parent ()
184
183
if pSubT == " LobbyMenu" then
185
184
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_INPUT_EVENT" , 8 , self ._delay ) --[[ @as number]]
186
- elseif pSubT == " PauseMenu" then
185
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
187
186
ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_INPUT_EVENT" , 8 , self ._delay ) --[[ @as number]]
188
187
end
189
188
elseif self .scrollingType == MenuScrollingType .PAGINATED or (self .scrollingType == MenuScrollingType .CLASSIC and overflow ) then
190
189
local pSubT = self .Parent ()
191
190
if pSubT == " LobbyMenu" then
192
191
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" CLEAR_MISSIONS_COLUMN" ) --[[ @as number]]
193
- elseif pSubT == " PauseMenu" then
194
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" CLEAR_PLAYERS_TAB_MISSIONS_COLUMN" , self . ParentTab ) --[[ @as number]]
192
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
193
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" CLEAR_PLAYERS_TAB_MISSIONS_COLUMN" ) --[[ @as number]]
195
194
end
196
195
local max = self .Pagination :ItemsPerPage ()
197
196
for i = 1 , max , 1 do
@@ -205,9 +204,9 @@ function MissionListColumn:GoUp()
205
204
if pSubT == " LobbyMenu" then
206
205
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_MISSIONS_SELECTION" , self .Pagination :ScaleformIndex ()) --[[ @as number]]
207
206
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_MISSIONS_QTTY" , self :CurrentSelection (), # self .Items ) --[[ @as number]]
208
- elseif pSubT == " PauseMenu" then
209
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_SELECTION" , self .ParentTab , self . Pagination :ScaleformIndex ()) --[[ @as number]]
210
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_QTTY" , self . ParentTab , self :CurrentSelection (), # self .Items ) --[[ @as number]]
207
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
208
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_SELECTION" , self .Pagination :ScaleformIndex ()) --[[ @as number]]
209
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_QTTY" , self :CurrentSelection (), # self .Items ) --[[ @as number]]
211
210
end
212
211
self .Items [self :CurrentSelection ()]:Selected (true )
213
212
self .OnIndexChanged (self :CurrentSelection ())
@@ -224,15 +223,15 @@ function MissionListColumn:GoDown()
224
223
local pSubT = self .Parent ()
225
224
if pSubT == " LobbyMenu" then
226
225
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_INPUT_EVENT" , 9 , self ._delay ) --[[ @as number]]
227
- elseif pSubT == " PauseMenu" then
226
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
228
227
ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_INPUT_EVENT" , 9 , self ._delay ) --[[ @as number]]
229
228
end
230
229
elseif self .scrollingType == MenuScrollingType .PAGINATED or (self .scrollingType == MenuScrollingType .CLASSIC and overflow ) then
231
230
local pSubT = self .Parent ()
232
231
if pSubT == " LobbyMenu" then
233
232
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" CLEAR_MISSIONS_COLUMN" ) --[[ @as number]]
234
- elseif pSubT == " PauseMenu" then
235
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" CLEAR_PLAYERS_TAB_MISSIONS_COLUMN" , self . ParentTab ) --[[ @as number]]
233
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
234
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" CLEAR_PLAYERS_TAB_MISSIONS_COLUMN" ) --[[ @as number]]
236
235
end
237
236
local max = self .Pagination :ItemsPerPage ()
238
237
for i = 1 , max , 1 do
@@ -246,9 +245,9 @@ function MissionListColumn:GoDown()
246
245
if pSubT == " LobbyMenu" then
247
246
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_MISSIONS_SELECTION" , self .Pagination :ScaleformIndex ()) --[[ @as number]]
248
247
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_MISSIONS_QTTY" , self :CurrentSelection (), # self .Items ) --[[ @as number]]
249
- elseif pSubT == " PauseMenu" then
250
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_SELECTION" , self .ParentTab , self . Pagination :ScaleformIndex ()) --[[ @as number]]
251
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_QTTY" , self . ParentTab , self :CurrentSelection (), # self .Items ) --[[ @as number]]
248
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
249
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_SELECTION" , self .Pagination :ScaleformIndex ()) --[[ @as number]]
250
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_QTTY" , self :CurrentSelection (), # self .Items ) --[[ @as number]]
252
251
end
253
252
self .Items [self :CurrentSelection ()]:Selected (true )
254
253
self .OnIndexChanged (self :CurrentSelection ())
@@ -260,8 +259,8 @@ function MissionListColumn:Clear()
260
259
local pSubT = self .Parent ()
261
260
if pSubT == " LobbyMenu" then
262
261
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" CLEAR_MISSIONS_COLUMN" )
263
- elseif pSubT == " PauseMenu" then
264
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" CLEAR_PLAYERS_TAB_MISSIONS_COLUMN" , self . ParentTab )
262
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
263
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" CLEAR_PLAYERS_TAB_MISSIONS_COLUMN" )
265
264
end
266
265
end
267
266
self .Items = {}
@@ -284,7 +283,7 @@ function MissionListColumn:SortMissions(compare)
284
283
local pSubT = self .Parent ()
285
284
if pSubT == " LobbyMenu" then
286
285
self .Parent :buildMissions ()
287
- elseif pSubT == " PauseMenu" then
286
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
288
287
self .Parent :buildMissions (self .Parent .Tabs [self .ParentTab ])
289
288
end
290
289
end
@@ -310,8 +309,8 @@ function MissionListColumn:FilterMissions(predicate)
310
309
local pSubT = self .Parent ()
311
310
if pSubT == " LobbyMenu" then
312
311
self .Parent :buildMissions ()
313
- elseif pSubT == " PauseMenu" then
314
- self .Parent :buildMissions (self .Parent . Tabs [ self . ParentTab ] )
312
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
313
+ self .Parent :buildMissions (self .ParentTab )
315
314
end
316
315
end
317
316
end
@@ -326,7 +325,7 @@ function MissionListColumn:ResetFilter()
326
325
local pSubT = self .Parent ()
327
326
if pSubT == " LobbyMenu" then
328
327
self .Parent :buildMissions ()
329
- elseif pSubT == " PauseMenu" then
328
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
330
329
self .Parent :buildMissions (self .Parent .Tabs [self .ParentTab ])
331
330
end
332
331
end
@@ -337,8 +336,8 @@ function MissionListColumn:refreshColumn()
337
336
local pSubT = self .Parent ()
338
337
if pSubT == " LobbyMenu" then
339
338
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" CLEAR_MISSIONS_COLUMN" )
340
- elseif pSubT == " PauseMenu" then
341
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" CLEAR_PLAYERS_TAB_MISSIONS_COLUMN" , self . ParentTab )
339
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
340
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" CLEAR_PLAYERS_TAB_MISSIONS_COLUMN" )
342
341
end
343
342
if # self .Items > 0 then
344
343
self ._isBuilding = true
@@ -366,9 +365,9 @@ function MissionListColumn:refreshColumn()
366
365
if pSubT == " LobbyMenu" then
367
366
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_MISSIONS_SELECTION" , self .Pagination :ScaleformIndex ()) --[[ @as number]]
368
367
ScaleformUI .Scaleforms ._pauseMenu ._lobby :CallFunction (" SET_MISSIONS_QTTY" , self :CurrentSelection (), # self .Items ) --[[ @as number]]
369
- elseif pSubT == " PauseMenu" then
370
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_SELECTION" , self .ParentTab , self . Pagination :ScaleformIndex ()) --[[ @as number]]
371
- ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_QTTY" , self . ParentTab , self :CurrentSelection (), # self .Items ) --[[ @as number]]
368
+ elseif pSubT == " PauseMenu" and self . ParentTab . Visible then
369
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_SELECTION" , self .Pagination :ScaleformIndex ()) --[[ @as number]]
370
+ ScaleformUI .Scaleforms ._pauseMenu ._pause :CallFunction (" SET_PLAYERS_TAB_MISSIONS_QTTY" , self :CurrentSelection (), # self .Items ) --[[ @as number]]
372
371
end
373
372
self ._isBuilding = false
374
373
end
0 commit comments