ingame/dyeing/gamepad/dyeing_gamepad.lua:70 -- GAMEPAD_DYEING_SCENE:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
MAIN_MENU_SINGLETON:SetBlockingScene("dyeing_gamepad", OnBlockingSceneActivated)
self:PerformDeferredInitialization()
ZO_Dyeing_CopyExistingDyesToPending()
self.equipmentMenu:Show()
self.visibleRadialMenu = self.equipmentMenu
self:SwitchToTab(DYE_TAB_INDEX)
self:SwitchToTool(self.dyeTool)
ZO_GamepadGenericHeader_Activate(self.header)
KEYBIND_STRIP:RemoveDefaultExit()
KEYBIND_STRIP:AddKeybindButtonGroup(self.keybindStripDescriptor)
DIRECTIONAL_INPUT:Activate(self, self.control)
TriggerTutorial(TUTORIAL_TRIGGER_DYEING_OPENED)
elseif newState == SCENE_HIDDEN then
local RETAIN_BACKGROUND_FOCUS = true
self:ResetScreen(nil, RETAIN_BACKGROUND_FOCUS)
self.equipmentMenu:ResetToDefaultPositon()
self.savedSlotsMenu:ResetToDefaultPositon()
ZO_GamepadGenericHeader_Deactivate(self.header)
KEYBIND_STRIP:RemoveKeybindButtonGroup(self.keybindStripDescriptor)
KEYBIND_STRIP:RestoreDefaultExit()
DIRECTIONAL_INPUT:Deactivate(self)
if self.isSpinning then
-- TODO: Make this work with gamepad right-stick.
EndInteractCameraSpin()
self.isSpinning = false
end
MAIN_MENU_SINGLETON:ClearBlockingScene(OnBlockingSceneActivated)
ZO_SavePlayerConsoleProfile()
end
end)