Back to Home

ESO Lua File v100030

ingame/guildfinder/guildbrowser_guildlist_shared.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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
------------------
-- Guild Finder --
------------------
ZO_GUILD_BROWSER_GUILD_LIST_ENTRY_TYPE = 1
ZO_GuildBrowser_GuildList_Shared = ZO_GuildFinder_Panel_Shared:Subclass()
function ZO_GuildBrowser_GuildList_Shared:New(...)
    return ZO_GuildFinder_Panel_Shared.New(self, ...)
end
function ZO_GuildBrowser_GuildList_Shared:Initialize(control)
    ZO_GuildFinder_Panel_Shared.Initialize(self, control)
    self.list = control:GetNamedChild("List") 
    self.resultsLabel = control:GetNamedChild("Results")
    local function OnGuildFinderSearchResultsReady()
        if self.fragment:IsShowing() then
            self:RefreshList()
        end
    end
    GUILD_BROWSER_MANAGER:RegisterCallback("OnGuildFinderSearchResultsReady", OnGuildFinderSearchResultsReady)
    GUILD_BROWSER_MANAGER:RegisterCallback("OnSearchStateChanged", function(newState) self:OnSearchStateChanged(newState) end)
end
function ZO_GuildBrowser_GuildList_Shared:OnShowing()
    
end
function ZO_GuildBrowser_GuildList_Shared:OnHidden()
    
end
function ZO_GuildBrowser_GuildList_Shared:GetAllianceIcon(alliance)
    assert(false) -- must be overridden
end
function ZO_GuildBrowser_GuildList_Shared:RefreshSearchFilters()
    -- to be overridden
end
function ZO_GuildBrowser_GuildList_Shared:ResetFilters()
    -- to be overridden
end
function ZO_GuildBrowser_GuildList_Shared:PopulateList()
    local scrollData = ZO_ScrollList_GetDataList(self.list)
    ZO_ClearNumericallyIndexedTable(scrollData)
    for _, guildId in GUILD_BROWSER_MANAGER:CurrentFoundGuildsListIterator() do
        if not GUILD_BROWSER_MANAGER:IsGuildReported(guildId) then
            local guildMetaData = GUILD_BROWSER_MANAGER:GetGuildData(guildId)
            guildMetaData.formattedAllianceName = ZO_CachedStrFormat(SI_ALLIANCE_NAME, GetAllianceName(guildMetaData.alliance))
            table.insert(scrollData, ZO_ScrollList_CreateDataEntry(ZO_GUILD_BROWSER_GUILD_LIST_ENTRY_TYPE, guildMetaData))
        end
    end
end
function ZO_GuildBrowser_GuildList_Shared:SetupRow(control, data)
    control.data = data
    control.guildNameLabel:SetText(data.guildName)
    control.guildAllianceTexture:SetTexture(self:GetAllianceIcon(data.alliance))
    GUILD_BROWSER_MANAGER:BuildGuildHeraldryControl(control.guildHeraldry, data)
    
    control.guildHeaderMessageLabel:SetText(data.headerMessage)
end
function ZO_GuildBrowser_GuildList_Shared:SetupRowContextualInfo(control, data)
    assert(false) -- must be overridden
end
function ZO_GuildBrowser_GuildList_Shared:GetRowContextualInfo(data)
    if self.focusType == GUILD_FOCUS_ATTRIBUTE_VALUE_TRADING then -- guild trader
        return  GetString("SI_GUILDMETADATAATTRIBUTE", GUILD_META_DATA_ATTRIBUTE_KIOSK), data.guildTraderText
    elseif self.focusType == GUILD_FOCUS_ATTRIBUTE_VALUE_GROUP_PVE or self.focusType == GUILD_FOCUS_ATTRIBUTE_VALUE_PVP then -- minimum CP
        return  GetString("SI_GUILDMETADATAATTRIBUTE", GUILD_META_DATA_ATTRIBUTE_MINIMUM_CP), data.minimumCP
    elseif self.focusType == GUILD_FOCUS_ATTRIBUTE_VALUE_ROLEPLAYING or self.focusType == GUILD_FOCUS_ATTRIBUTE_VALUE_SOCIAL then -- personality
        return  GetString("SI_GUILDMETADATAATTRIBUTE", GUILD_META_DATA_ATTRIBUTE_PERSONALITIES), GetString("SI_GUILDPERSONALITYATTRIBUTEVALUE", data.personality)
    else -- default to playtime
        return GetString(SI_GUILD_FINDER_GUILD_INFO_PLAYTIME_HEADER), ZO_GuildFinder_Manager.CreatePlaytimeRangeText(data)
    end
end
function ZO_GuildBrowser_GuildList_Shared:OnSearchStateChanged(newState)
    local shouldShowEmptyList = newState == GUILD_FINDER_SEARCH_STATE_WAITING or newState == GUILD_FINDER_SEARCH_STATE_QUEUED
    if shouldShowEmptyList then
        local scrollData = ZO_ScrollList_GetDataList(self.list)
        ZO_ClearNumericallyIndexedTable(scrollData)
        ZO_ScrollList_Commit(self.list)
    end
end
function ZO_GuildBrowser_GuildList_Shared:UpdateResultsLabel()
    self.resultsLabel:SetHidden(true)
    local currentSearchState = GUILD_BROWSER_MANAGER:GetSearchState()
    if currentSearchState == GUILD_FINDER_SEARCH_STATE_WAITING or currentSearchState == GUILD_FINDER_SEARCH_STATE_QUEUED then
        self.resultsLabel:SetText(GetString(SI_GUILD_BROWSER_GUILD_LIST_REFRESHING_RESULTS))
        self.resultsLabel:SetHidden(false)
        return
    end
    if currentSearchState == GUILD_FINDER_SEARCH_STATE_COMPLETE and not GUILD_BROWSER_MANAGER:HasCurrentFoundGuilds() then
        self.resultsLabel:SetText(GetString(SI_GUILD_BROWSER_GUILD_LIST_NO_RESULTS))
        self.resultsLabel:SetHidden(false)
        return
    end
end
function ZO_GuildBrowser_GuildList_Shared:RefreshList()
    if self.fragment:IsShowing() then
        self:PopulateList()
    end
end