ingame/stats/gamepad/zo_stats_gamepad.lua:213 -- GAMEPAD_STATS_ROOT_SCENE:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
self:PerformDeferredInitializationRoot()
self:TryResetScreenState()
self:RefreshEquipmentBonus()
self:ActivateMainList()
local function OnUpdate(_, unitTag)
if unitTag == "player" then
self:Update()
end
end
local function OnRefresh()
self:Update()
end
self.control:RegisterForEvent(EVENT_STATS_UPDATED, OnUpdate)
self.control:RegisterForEvent(EVENT_LEVEL_UPDATE, OnUpdate)
self.control:RegisterForEvent(EVENT_EFFECT_CHANGED, OnRefresh)
self.control:AddFilterForEvent(EVENT_EFFECT_CHANGED, REGISTER_FILTER_UNIT_TAG, "player")
self.control:RegisterForEvent(EVENT_EFFECTS_FULL_UPDATE, OnRefresh)
self.control:RegisterForEvent(EVENT_ATTRIBUTE_UPGRADE_UPDATED, OnRefresh)
self.control:RegisterForEvent(EVENT_TITLE_UPDATE, OnUpdate)
self.control:RegisterForEvent(EVENT_PLAYER_TITLES_UPDATE, OnRefresh)
self.control:RegisterForEvent(EVENT_CHAMPION_POINT_GAINED, OnRefresh)
self.control:RegisterForEvent(EVENT_CHAMPION_SYSTEM_UNLOCKED, OnRefresh)
self.control:RegisterForEvent(EVENT_ARTIFICIAL_EFFECT_ADDED, OnRefresh)
self.control:RegisterForEvent(EVENT_ARTIFICIAL_EFFECT_REMOVED, OnRefresh)
STABLE_MANAGER:RegisterCallback("StableMountInfoUpdated", OnRefresh)
self:Update()
TriggerTutorial(TUTORIAL_TRIGGER_STATS_OPENED)
if GetAttributeUnspentPoints() > 0 then
TriggerTutorial(TUTORIAL_TRIGGER_STATS_OPENED_AND_ATTRIBUTE_POINTS_UNSPENT)
end
elseif newState == SCENE_HIDDEN then
self:DeactivateMainList()
if(self.currentTitleDropdown ~= nil) then
self.currentTitleDropdown:Deactivate(true)
end
if self.attributeTooltips then
self.attributeTooltips:Deactivate()
end
self.control:UnregisterForEvent(EVENT_STATS_UPDATED)
self.control:UnregisterForEvent(EVENT_LEVEL_UPDATE)
self.control:UnregisterForEvent(EVENT_EFFECT_CHANGED)
self.control:UnregisterForEvent(EVENT_EFFECTS_FULL_UPDATE)
self.control:UnregisterForEvent(EVENT_ATTRIBUTE_UPGRADE_UPDATED)
self.control:UnregisterForEvent(EVENT_TITLE_UPDATE)
self.control:UnregisterForEvent(EVENT_PLAYER_TITLES_UPDATE)
self.control:UnregisterForEvent(EVENT_ARTIFICIAL_EFFECT_ADDED)
self.control:UnregisterForEvent(EVENT_ARTIFICIAL_EFFECT_REMOVED)
STABLE_MANAGER:UnregisterCallback("StableMountInfoUpdated", OnRefresh)
end
ZO_Gamepad_ParametricList_Screen.OnStateChanged(self, oldState, newState)
end)