libraries/zo_menubar/zo_scenegroupbar.lua:49 -- self.sceneGroup:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_GROUP_SHOWING then
local nextScene = SCENE_MANAGER:GetNextScene():GetName()
-- this update can be called before the scene itself is set to showing,
-- so make sure to set the active scene here so we can update the scene group bar correctly
self.sceneGroup:SetActiveScene(nextScene)
if not isInitialized then
-- This is a scene group
ZO_MenuBar_ClearButtons(self.menuBarControl)
for i, tabData in pairs(tabDataList) do
-- Set the first tab in the list as the active scene if an active scene wasn't passed in
if not activeSceneName then
activeSceneName = tabData.descriptor
end
local buttonData = tabData
buttonData.existingCallback = buttonData.callback
local existingCallback = buttonData.callback
buttonData.callback = function()
local sceneGroup = SCENE_MANAGER:GetSceneGroup(name)
sceneGroup:SetActiveScene(buttonData.descriptor)
if self.sceneGroup:IsShowing() then
SCENE_MANAGER:Show(buttonData.descriptor)
end
if self.label then
self.label:SetText(zo_strformat(SI_SCENE_FRAGMENT_BAR_TITLE, GetString(buttonData.categoryName)))
end
self.lastSceneName = buttonData.descriptor
if existingCallback then
existingCallback()
end
end
ZO_MenuBar_AddButton(self.menuBarControl, buttonData)
table.insert(self.buttonData, buttonData)
end
isInitialized = true
self:SelectTab(activeSceneName)
end
end
end)