ESO Lua File v100011

ingame/campaign/gamepad/campaignbonuses_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
101
102
103
local ZO_CampaignBonusesGamepad = ZO_CampaignBonuses_Shared:Subclass()
function ZO_CampaignBonusesGamepad:New(...)
    return ZO_CampaignBonuses_Shared.New(self, ...)
end
function ZO_CampaignBonusesGamepad:Initialize(control, list)
    ZO_CampaignBonuses_Shared.Initialize(self, control)
    self.control = control
    self.abilityList = list
     self.abilityList:SetOnSelectedDataChangedCallback(function(list, selectedData)
          GAMEPAD_TOOLTIPS:ClearLines(GAMEPAD_LEFT_TOOLTIP)
          if selectedData and selectedData.isHeader == false then
               GAMEPAD_TOOLTIPS:LayoutAvABonus(GAMEPAD_LEFT_TOOLTIP, selectedData)
               self:SetTooltipHidden(false)
        else
               self:SetTooltipHidden(true)
          end
     end)
    control:RegisterForEvent(EVENT_KEEP_ALLIANCE_OWNER_CHANGED, function() if self.shown then self:UpdateBonuses() end end)
    control:RegisterForEvent(EVENT_OBJECTIVES_UPDATED, function() if self.shown then self:UpdateBonuses() end end)
end
function ZO_CampaignBonusesGamepad:SetTooltipHidden(hidden)
    if(hidden) then
        GAMEPAD_TOOLTIPS:HideBg(GAMEPAD_LEFT_TOOLTIP)
        GAMEPAD_TOOLTIPS:ClearTooltip(GAMEPAD_LEFT_TOOLTIP)
    else
        GAMEPAD_TOOLTIPS:ShowBg(GAMEPAD_LEFT_TOOLTIP)
    end
end
function ZO_CampaignBonusesGamepad:UpdateBonuses()
    self.abilityList:Clear()
    local header = nil
    local headerInfoString = nil
    for i = 1, #self.masterList do
        local data = self.masterList[i]
        if data.isHeader then
            header = data.headerString
            headerInfoString = data.infoString
        else
            local entryData = ZO_GamepadEntryData:New(data.name, data.icon)
            entryData:SetDataSource(data)
            if(header) then
                entryData:SetHeader(header)
                entryData.headerInfoString = headerInfoString
                self.abilityList:AddEntryWithHeader("ZO_CampaignBonusEntryTemplate", entryData)
                header = nil
            else
                self.abilityList:AddEntry("ZO_CampaignBonusEntryTemplate", entryData)
            end
        end
    end
    self.abilityList:Commit()
end
    CAMPAIGN_BONUSES_GAMEPAD = ZO_CampaignBonusesGamepad:New(control, list)
end
function ZO_CampaignBonusEntryHeaderTemplateSetup(control, data, selected, selectedDuringRebuild, enabled, activated)
    if(data.header) then
        control.text:SetText(data.header)        
        control.subText:SetText(data.headerInfoString)
    end
end
function ZO_CampaignBonusEntryTemplateSetup(control, data, selected, selectedDuringRebuild, enabled, activated)
    control.typeIcon:SetTexture(data.typeIcon)
    local showCheckmark = data.active
    if data.countText then
        control.countText:SetText(zo_strformat(SI_CAMPAIGN_SCORING_HOLDING, data.countText))
        control.countText:SetHidden(showCheckmark)
    else
        control.countText:SetHidden(true)
    end
    control.checkmark:SetHidden(not showCheckmark)
    control.typeIcon:SetHidden(showCheckmark)
    ZO_SharedGamepadEntry_OnSetup(control, data, selected, reselectingDuringRebuild, enabled, active)
end
    control.checkmark = control:GetNamedChild("Checkmark")
    control.typeIcon = control:GetNamedChild("ItemIcon")
    control.countText = control:GetNamedChild("ItemCount")
end