- common/gamepad/zo_gamepadparametricscrolllistscreen.lua:236 --
scene:RegisterCallback("StateChange", self.onStateChangedCallback)
- common/gamepad/screenadjust/screenadjust.lua:23 --
scene:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWN then
local SAVE_INITIAL_SCREEN_SIZE = true
self:InitializeSize(SAVE_INITIAL_SCREEN_SIZE)
if IsInGamepadPreferredMode() then
DIRECTIONAL_INPUT:Activate(self, self.control)
end
self.readyToSave = true
elseif newState == SCENE_HIDING then
if SCENE_MANAGER:IsCurrentSceneGamepad() then
DIRECTIONAL_INPUT:Deactivate(self)
end
end
end)
- ingame/crafting/gamepad/smithingcreation_gamepad.lua:58 --
scene:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
self:PerformDeferredInitialization()
KEYBIND_STRIP:RemoveDefaultExit()
KEYBIND_STRIP:AddKeybindButtonGroup(self.keybindStripDescriptor)
local tabBarEntries = self:GenerateTabBarEntries()
self.focus:Activate()
self.focus:SetFocusByIndex(self.focus:GetFocus()) -- somehow this fixes the "move focus by 2 the first time" issue when entering the screen...remove when lower-level system fixed
self.owner:SetEnableSkillBar(true)
local savedFilter = self.typeFilter
local titleString = ZO_GamepadCraftingUtils_GetLineNameForCraftingType(GetCraftingInteractionType())
local DONT_SHOW_CAPACITY = false
ZO_GamepadCraftingUtils_SetupGenericHeader(self.owner, titleString, tabBarEntries, DONT_SHOW_CAPACITY)
ZO_GamepadCraftingUtils_RefreshGenericHeader(self.owner)
self:SetupTabBar(tabBarEntries, savedFilter)
self:RefreshAllLists()
self.inOptionsMenu = false
self.isCrafting = false
GAMEPAD_CRAFTING_RESULTS:SetCraftingTooltip(self.resultTooltip)
GAMEPAD_CRAFTING_RESULTS:SetTooltipAnimationSounds(self:GetCreateTooltipSound())
self:TriggerUSITutorial()
elseif newState == SCENE_HIDDEN then
GAMEPAD_CRAFTING_RESULTS:SetCraftingTooltip(nil)
ZO_InventorySlot_RemoveMouseOverKeybinds()
KEYBIND_STRIP:RemoveKeybindButtonGroup(self.keybindStripDescriptor)
KEYBIND_STRIP:RestoreDefaultExit()
self.focus:Deactivate()
self.resultTooltip:SetHidden(true)
self.interactingWithSameStation = true
self.owner:SetEnableSkillBar(false)
ZO_GamepadGenericHeader_Deactivate(self.owner.header)
end
end)
- ingame/crafting/gamepad/smithingextraction_gamepad.lua:56 --
scene:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
KEYBIND_STRIP:RemoveDefaultExit()
KEYBIND_STRIP:AddKeybindButtonGroup(self.keybindStripDescriptor)
self.inventory:Activate()
local tabBarEntries = {}
if not refinementOnly then
AddTabEntry(tabBarEntries, SMITHING_FILTER_TYPE_WEAPONS)
AddTabEntry(tabBarEntries, SMITHING_FILTER_TYPE_ARMOR)
AddTabEntry(tabBarEntries, SMITHING_FILTER_TYPE_JEWELRY)
local titleString = ZO_GamepadCraftingUtils_GetLineNameForCraftingType(GetCraftingInteractionType())
ZO_GamepadCraftingUtils_SetupGenericHeader(self.owner, titleString, tabBarEntries)
if #tabBarEntries > 1 then
ZO_GamepadGenericHeader_Activate(self.owner.header)
end
else
local titleString = GetString(SI_SMITHING_TAB_REFINEMENT)
ZO_GamepadCraftingUtils_SetupGenericHeader(self.owner, titleString)
end
ZO_GamepadCraftingUtils_RefreshGenericHeader(self.owner)
-- tab bar / screen state fight with each other when switching between apparel only / other stations when sharing a tab bar...kick apparel station to the right filterType
if #tabBarEntries == 1 then
self:SetFilterType(tabBarEntries[1].filterType)
end
-- used to update extraction slot UI with text / etc., PC does this as well
self:RemoveItemFromCraft()
self.owner:SetEnableSkillBar(true)
GAMEPAD_CRAFTING_RESULTS:SetForceCenterResultsText(true)
GAMEPAD_CRAFTING_RESULTS:ModifyAnchor(ZO_Anchor:New(RIGHT, GuiRoot, RIGHT, -310, -175))
self.inventory:HandleDirtyEvent()
elseif newState == SCENE_HIDDEN then
self.itemActions:SetInventorySlot(nil)
KEYBIND_STRIP:RemoveKeybindButtonGroup(self.keybindStripDescriptor)
KEYBIND_STRIP:RestoreDefaultExit()
self.inventory:Deactivate()
self.tooltip.tip:ClearLines()
self.tooltip:SetHidden(true)
GAMEPAD_TOOLTIPS:Reset(GAMEPAD_LEFT_TOOLTIP)
ZO_GamepadGenericHeader_Deactivate(self.owner.header)
self.owner:SetEnableSkillBar(false)
GAMEPAD_CRAFTING_RESULTS:SetForceCenterResultsText(false)
GAMEPAD_CRAFTING_RESULTS:RestoreAnchor()
end
end)
- ingame/crafting/gamepad/smithingimprovement_gamepad.lua:122 --
scene:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
KEYBIND_STRIP:RemoveDefaultExit()
KEYBIND_STRIP:AddKeybindButtonGroup(self.keybindStripDescriptor)
self:SetInventoryActive(true)
-- LB / RB handling for switching filters on improvement screen
local tabBarEntries = {}
AddTabEntry(tabBarEntries, SMITHING_FILTER_TYPE_WEAPONS)
AddTabEntry(tabBarEntries, SMITHING_FILTER_TYPE_ARMOR)
AddTabEntry(tabBarEntries, SMITHING_FILTER_TYPE_JEWELRY)
local titleString = ZO_GamepadCraftingUtils_GetLineNameForCraftingType(GetCraftingInteractionType())
ZO_GamepadCraftingUtils_SetupGenericHeader(self.owner, titleString, tabBarEntries)
if #tabBarEntries > 1 then
ZO_GamepadGenericHeader_Activate(self.owner.header)
self.shouldActivateTabBar = true
else
self.shouldActivateTabBar = false
end
ZO_GamepadCraftingUtils_RefreshGenericHeader(self.owner)
-- tab bar / screen state fight with each other when switching between apparel only / other stations when sharing a tab bar...kick apparel station to the right mode
if #tabBarEntries == 1 then
self:ChangeMode(tabBarEntries[1].mode)
end
-- used to update extraction slot UI with text / etc., PC does this as well
self:RemoveItemFromCraft()
if self.selectedItem then
self:ColorizeText(self:GetBoosterRowForQuality(self.selectedItem.quality))
end
self.owner:SetEnableSkillBar(true)
elseif newState == SCENE_HIDDEN then
self.itemActions:SetInventorySlot(nil)
KEYBIND_STRIP:RemoveKeybindButtonGroup(self.keybindStripDescriptor)
KEYBIND_STRIP:RestoreDefaultExit()
self:SetInventoryActive(false)
self.sourceTooltip.tip:ClearLines()
self.sourceTooltip:SetHidden(true)
self.resultTooltip.tip:ClearLines()
self.resultTooltip:SetHidden(true)
self.slotContainer:SetHidden(true)
self:EnableQualityBridge(false)
ZO_GamepadGenericHeader_Deactivate(self.owner.header)
self:ClearBoosterRowHighlight()
self.owner:SetEnableSkillBar(false)
self.spinner:Deactivate()
end
end)
- ingame/crafting/gamepad/smithingresearch_gamepad.lua:17 --
scene:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
self:PerformDeferredInitialization()
KEYBIND_STRIP:AddKeybindButtonGroup(self.keybindStripDescriptor)
local tabBarEntries = self:GenerateTabBarEntries()
self.focus:Activate()
self.owner:SetEnableSkillBar(true)
local savedFilter = self.typeFilter
local titleString = ZO_GamepadCraftingUtils_GetLineNameForCraftingType(GetCraftingInteractionType())
ZO_GamepadCraftingUtils_SetupGenericHeader(self.owner, titleString, tabBarEntries)
ZO_GamepadCraftingUtils_RefreshGenericHeader(self.owner)
self:SetupTabBar(tabBarEntries, savedFilter)
self:Refresh()
elseif newState == SCENE_HIDING then
KEYBIND_STRIP:RemoveKeybindButtonGroup(self.keybindStripDescriptor)
self.focus:Deactivate()
self.owner:SetEnableSkillBar(false)
ZO_GamepadGenericHeader_Deactivate(self.owner.header)
GAMEPAD_TOOLTIPS:Reset(GAMEPAD_LEFT_TOOLTIP)
end
end)
- ingame/crafting/gamepad/smithing_gamepad.lua:34 --
scene:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
TriggerTutorial(self.GetTutorialTrigger(self, GetCraftingInteractionType(), mode))
end
end)
- ingame/dyeing/dyestamp_confirmation_shared.lua:13 --
scene:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWN then
self:OnShown()
elseif newState == SCENE_HIDDEN then
self:OnHidden()
end
end)
- ingame/giftinventory/keyboard/giftinventory_keyboard.lua:15 --
scene:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
self:DeferredInitialize()
if self.queuedCategoryTagToSelect then
local nodeToSelect = self:GetCategoryNodeByCategoryTag(self.queuedCategoryTagToSelect)
if nodeToSelect then
self.navigationTree:SelectNode(nodeToSelect)
end
self.queuedCategoryTagToSelect = nil
end
if self.selectedCategoryObject then
self.selectedCategoryObject:Show()
end
if self.isDirty then
self.navigationTree:RefreshVisible()
self.isDirty = false
end
TriggerTutorial(TUTORIAL_TRIGGER_GIFT_INVENTORY_OPENED)
elseif newState == SCENE_HIDDEN then
if self.selectedCategoryObject then
self.selectedCategoryObject:Hide()
end
end
end)
- ingame/mainmenu/keyboard/zo_mainmenu_keyboard.lua:461 --
scene:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
self.ignoreCallbacks = true
local skipAnimation = not self:IsShowing()
ZO_MenuBar_SelectDescriptor(self.categoryBar, category, skipAnimation)
self.lastCategory = category
if sceneGroupName == nil then
-- don't set the last scene name if this scene is part of a scene group
-- when we toggle a category we will default to showing the last scene name
-- however for scene groups we want to show the active scene not necessarily the last shown scene
self:SetLastSceneName(categoryInfo, sceneName)
else
-- if we are part of a scene group, when we show the scene, make sure to
-- flag this scene as the active one
local sceneGroup = SCENE_MANAGER:GetSceneGroup(sceneGroupName)
sceneGroup:SetActiveScene(sceneName)
end
self.ignoreCallbacks = false
end
end)
- pregame/chapterupgrade/chapterupgrade_shared.lua:41 --
scene:RegisterCallback("StateChange", function(oldState, newState)
local handler = stateChangeHandlers[newState]
if handler then
handler(self)
end
end)