KEYBIND_STRIP:GenerateGamepadBackButtonDescriptor(function()
if self.visibleCategoryId then
self.visibleCategoryId = nil
self.achievementId = nil
self:Update()
PlaySound(SOUNDS.GAMEPAD_MENU_BACK)
--This screen seems to use the same list for both the top level and the subcategories. As a result, we need to manually tell it to re-narrate the header when switching between them
local NARRATE_HEADER = true
SCREEN_NARRATION_MANAGER:QueueParametricListEntry(self.itemList, NARRATE_HEADER)
else
SCENE_MANAGER:HideCurrentScene()
end
end)
KEYBIND_STRIP:GenerateGamepadBackButtonDescriptor(function()
local targetData = self.itemList:GetTargetData()
if targetData.isTextField then
local editBox = self.itemList:GetTargetControl().editBox
if editBox and editBox:HasFocus() then
editBox:LoseFocus()
return
end
end
SCENE_MANAGER:HideCurrentScene()
end, nil, SOUNDS.DIALOG_DECLINE)
KEYBIND_STRIP:GenerateGamepadBackButtonDescriptor(function()
if self:IsCurrentList(self.categoryList) then
self:SetCurrentList(self.actionLayerList)
self:RefreshHeader()
SCENE_MANAGER:RemoveFragmentGroup(self.keybindsFragmentGroup)
PlaySound(SOUNDS.GAMEPAD_MENU_BACK)
else
SCENE_MANAGER:HideCurrentScene()
end
end)
KEYBIND_STRIP:GenerateGamepadBackButtonDescriptor(function()
PlaySound(SOUNDS.DIALOG_DECLINE)
if self.previousState == "AccountLogin" then
CancelLogin()
end
PregameStateManager_SetState(self.previousState)
end)
KEYBIND_STRIP:GenerateGamepadBackButtonDescriptor(function()
-- if we just kicked off a platforms list load request, wait for that to finish before we let the player got back to IIS
if self.canCancelOrLoadPlatforms == true then
PlaySound(SOUNDS.DIALOG_DECLINE)
self.canCancelOrLoadPlatforms = false
PregameStateManager_SetState("AccountLogin")
end
end)