ingame/skills/gamepad/gamepadskills.lua:146 -- GAMEPAD_SKILLS_LINE_FILTER_SCENE:RegisterCallback("StateChange", function(oldState, newState)
ZO_Gamepad_ParametricList_Screen.OnStateChanged(self, oldState, newState)
if newState == SCENE_SHOWING then
local targetSkillLineData = self.categoryList:GetTargetData().skillLineData
self:SetMode(ZO_GAMEPAD_SKILLS_ABILITY_LIST_BROWSE_MODE)
self:RefreshHeader(targetSkillLineData:GetFormattedName())
self.assignableActionBar:Refresh()
--To pick up the new skill line that was just selected
self.lineFilterListRefreshGroup:MarkDirty("List")
self.lineFilterListRefreshGroup:TryClean()
-- If there was a skill data to select, find it and select it now that the skill list is showing
local setSelectedIndex = false
if self.selectSkillData then
for i = 1, self.lineFilterList:GetNumEntries() do
local data = self.lineFilterList:GetDataForDataIndex(i)
if data.skillData == self.selectSkillData then
self.lineFilterList:SetSelectedIndexWithoutAnimation(i)
setSelectedIndex = true
break
end
end
self.selectSkillData = nil
end
if not setSelectedIndex then
self.lineFilterList:SetSelectedIndexWithoutAnimation(1)
end
ACTION_BAR_ASSIGNMENT_MANAGER:UpdateWerewolfBarStateInCycle(targetSkillLineData)
KEYBIND_STRIP:AddKeybindButtonGroup(self.lineFilterKeybindStripDescriptor)
elseif newState == SCENE_HIDDEN then
local NO_SKILL_LINE_SELECTED = nil
ACTION_BAR_ASSIGNMENT_MANAGER:UpdateWerewolfBarStateInCycle(NO_SKILL_LINE_SELECTED)
self:DisableCurrentList()
self:TryClearSkillUpdatedStatus()
self:TryClearSkillLineNewStatus()
self.clearSkillUpdatedStatusCallId = nil
self.clearSkillUpdatedStatusSkillData = nil
self.clearSkillLineNewStatusCallId = nil
self.clearSkillLineNewStatusSkillLineData = nil
KEYBIND_STRIP:RemoveKeybindButtonGroup(self.lineFilterKeybindStripDescriptor)
GAMEPAD_TOOLTIPS:Reset(GAMEPAD_LEFT_TOOLTIP)
GAMEPAD_TOOLTIPS:Reset(GAMEPAD_RIGHT_TOOLTIP)
if self.mode == ZO_GAMEPAD_SKILLS_SINGLE_ABILITY_ASSIGN_MODE then
self.actionBarAnimation:PlayInstantlyToStart()
end
end
end)