Back to Home

ESO Lua File v101041

internalingame/tribute/gamepad/tributetargetviewer_gamepad.lua

[◄ back to folders ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
ZO_TributeTargetViewer_Gamepad = ZO_TributeTargetViewer_Shared:Subclass()
function ZO_TributeTargetViewer_Gamepad:Initialize(control)
    local TEMPLATE_DATA =
    {
        gridListClass = ZO_GridScrollList_Gamepad,
        cardEntryData =
        {
            entryTemplate = "ZO_TributeTargetViewerCardTile_Gamepad_Control",
            width = ZO_TRIBUTE_TILE_WIDTH_GAMEPAD,
            height = ZO_TRIBUTE_TILE_HEIGHT_GAMEPAD,
            gridPaddingX = 5,
            gridPaddingY = 10,
        },
    }
    ZO_TributeTargetViewer_Shared.Initialize(self, control, TEMPLATE_DATA)
    TRIBUTE_TARGET_VIEWER_GAMEPAD_FRAGMENT = ZO_FadeSceneFragment:New(control)
    TRIBUTE_TARGET_VIEWER_GAMEPAD_FRAGMENT:RegisterCallback("StateChange", function(oldState, newState)
        if newState == SCENE_FRAGMENT_SHOWING then
            self:RefreshInstruction()
        elseif newState == SCENE_FRAGMENT_SHOWN then
            self.gridList:Activate()
            ZO_GamepadGenericHeader_Activate(self.header)
            KEYBIND_STRIP:AddKeybindButtonGroup(self.keybindStripDescriptor)
        elseif newState == SCENE_FRAGMENT_HIDING then
            if self.gridList:IsActive() then
                self.gridList:Deactivate()
            end
            KEYBIND_STRIP:RemoveKeybindButtonGroup(self.keybindStripDescriptor)
        end
    end)
    self.fragment = TRIBUTE_TARGET_VIEWER_GAMEPAD_FRAGMENT
end
function ZO_TributeTargetViewer_Gamepad:OnGridSelectionChanged(oldSelectedData, selectedData)
    -- Deselect previous tile
    if oldSelectedData and oldSelectedData.dataEntry then
        if oldSelectedData.dataEntry.control then
            oldSelectedData.dataEntry.control.object:SetSelected(false)
        end
        oldSelectedData.isSelected = false
    end
    -- Select newly selected tile.
    if selectedData and selectedData.dataEntry then
        if selectedData.dataEntry.control then
            selectedData.dataEntry.control.object:SetSelected(true)
        end
        selectedData.isSelected = true
    else
        GAMEPAD_TOOLTIPS:ClearTooltip(GAMEPAD_RIGHT_TOOLTIP)
    end
end
--------------------------------------
-- Functions Overridden From Base
--------------------------------------
function ZO_TributeTargetViewer_Gamepad:InitializeControls()
    self.header = self.control:GetNamedChild("HeaderContainerHeader")
    ZO_GamepadGenericHeader_Initialize(self.header, ZO_GAMEPAD_HEADER_TABBAR_DONT_CREATE)
end
function ZO_TributeTargetViewer_Gamepad:InitializeGridList()
    ZO_TributeTargetViewer_Shared.InitializeGridList(self)
    self.gridList:SetScrollToExtent(true)
    self.gridList:SetOnSelectedDataChangedCallback(function(...) self:OnGridSelectionChanged(...) end)
end
function ZO_TributeTargetViewer_Gamepad:SetInstruction(instructionText)
    local headerData =
    {
        titleText = instructionText,
    }
end
function ZO_TributeTargetViewer_Gamepad:CanShow()
    return IsInGamepadPreferredMode()
end
function ZO_TributeTargetViewer_Gamepad:Show()
    SCENE_MANAGER:AddFragmentGroup(ZO_GAMEPAD_TRIBUTE_TARGET_VIEWER_FRAGMENT_GROUP)
end
function ZO_TributeTargetViewer_Gamepad:Hide()
    ZO_TributeTargetViewer_Shared.Hide(self)
    SCENE_MANAGER:RemoveFragmentGroup(ZO_GAMEPAD_TRIBUTE_TARGET_VIEWER_FRAGMENT_GROUP)
end
-------------------------
-- Global XML Functions
-------------------------
    TRIBUTE_TARGET_VIEWER_GAMEPAD = ZO_TributeTargetViewer_Gamepad:New(control)
end