ingame/skills/gamepad/gamepadskills.lua:31 -- GAMEPAD_SKILLS_ROOT_SCENE:RegisterCallback("StateChange", function(oldState, newState)
ZO_Gamepad_ParametricList_Screen.OnStateChanged(self, oldState, newState)
if newState == SCENE_SHOWING then
self:SetMode(ZO_GAMEPAD_SKILLS_SKILL_LIST_BROWSE_MODE)
self:RefreshHeader(GetString(SI_MAIN_MENU_SKILLS))
self.categoryListRefreshGroup:TryClean()
self.assignableActionBar:Refresh()
KEYBIND_STRIP:AddKeybindButtonGroup(self.categoryKeybindStripDescriptor)
if self.returnToAdvisor then
local previousSceneName = SCENE_MANAGER:GetPreviousSceneName()
if previousSceneName == "gamepad_skills_line_filter" then
-- first entry is always the skills advisor
self.categoryList:SetSelectedIndexWithoutAnimation(1)
self:DeactivateCurrentList()
ZO_GAMEPAD_SKILLS_ADVISOR_SUGGESTIONS_WINDOW:Activate()
end
self.returnToAdvisor = false
end
TriggerTutorial(TUTORIAL_TRIGGER_COMBAT_SKILLS_OPENED)
local level = GetUnitLevel("player")
if level >= GetSkillBuildTutorialLevel() then
TriggerTutorial(TUTORIAL_TRIGGER_SKILL_BUILD_SELECTION)
end
if self.showAttributeDialog then
--Defer dialog call in case we're entering the scene from the base scene. This is to
--ensure the dialog's keybind layer is added after the other layers, and not before.
local function ShowDialog()
if SCENE_MANAGER:IsShowing("gamepad_skills_root") then
ZO_Dialogs_ShowGamepadDialog("GAMEPAD_SKILLS_ATTRIBUTE_PURCHASE", nil, nil)
end
end
zo_callLater(ShowDialog, 20)
end
elseif newState == SCENE_SHOWN then
--If we entered skills with the action bar selected make sure to activate it. We do this in shown because fragments are set to showing after
--the scene is which means the action bar is still hidden on showing which prevents activating it.
if self.mode == ZO_GAMEPAD_SKILLS_SKILL_LIST_BROWSE_MODE then
if self.assignableActionBar:IsActive() then
self:ActivateAssignableActionBarFromList()
end
end
elseif newState == SCENE_HIDING then
--Disable now so it's not possible to change the selected skill live/skills advisor entry as the scene is hiding since the line filter list depends on it being a skill line
self:DisableCurrentList()
elseif newState == SCENE_HIDDEN then
KEYBIND_STRIP:RemoveKeybindButtonGroup(self.categoryKeybindStripDescriptor)
GAMEPAD_TOOLTIPS:Reset(GAMEPAD_LEFT_TOOLTIP)
GAMEPAD_TOOLTIPS:Reset(GAMEPAD_RIGHT_TOOLTIP)
end
end)