ESO Lua File v100010

ingame/guild/guildsharedinfo.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
local GuildSharedInfo = ZO_Object:Subclass()
function GuildSharedInfo:New(control)
    local manager = ZO_Object.New(self)
    manager.control = control
    manager.bankIcon = GetControl(control, "Bank")
    manager.tradingHouseIcon = GetControl(control, "TradingHouse")
    manager.heraldryIcon = GetControl(control, "Heraldry")
    control:RegisterForEvent(EVENT_GUILD_DATA_LOADED, function() manager:Refresh(manager.guildId) end)
    control:RegisterForEvent(EVENT_GUILD_MEMBER_ADDED, function(_, guildId) manager:Refresh(guildId) end)
    control:RegisterForEvent(EVENT_GUILD_MEMBER_REMOVED, function(_, guildId) manager:Refresh(guildId) end)
    control:RegisterForEvent(EVENT_GUILD_MEMBER_PLAYER_STATUS_CHANGED, function(_, guildId) manager:Refresh(guildId) end)
    return manager
end
function GuildSharedInfo:SetGuildId(guildId)
    self.guildId = guildId
    self:Refresh(guildId)
end
function GuildSharedInfo:Refresh(guildId)
    if(self.guildId and self.guildId == guildId) then
        local count = GetControl(self.control, "Count")
        local numGuildMembers = GetNumGuildMembers(guildId)
        local numOnline = 0
        for guildMemberIndex = 1, numGuildMembers do
            local _, _, _, status = GetGuildMemberInfo(guildId, guildMemberIndex)
            if(status ~= PLAYER_STATUS_OFFLINE) then
                numOnline = numOnline + 1
            end
        end
        count:SetText(zo_strformat(SI_GUILD_NUM_MEMBERS_ONLINE_FORMAT, numOnline, numGuildMembers))
        self.canDepositToBank = DoesGuildHavePrivilege(guildId, GUILD_PRIVILEGE_BANK_DEPOSIT)
        if(self.canDepositToBank) then
            self.bankIcon:SetColor(ZO_DEFAULT_ENABLED_COLOR:UnpackRGBA())
        else
            self.bankIcon:SetColor(ZO_DEFAULT_DISABLED_COLOR:UnpackRGBA())
        end
        self.canUseTradingHouse = DoesGuildHavePrivilege(guildId, GUILD_PRIVILEGE_TRADING_HOUSE)
        if(self.canUseTradingHouse) then
            self.tradingHouseIcon:SetColor(ZO_DEFAULT_ENABLED_COLOR:UnpackRGBA())
        else
            self.tradingHouseIcon:SetColor(ZO_DEFAULT_DISABLED_COLOR:UnpackRGBA())
        end
        self.canUseHeraldry = DoesGuildHavePrivilege(guildId, GUILD_PRIVILEGE_HERALDRY)
        if(self.canUseHeraldry) then
            self.heraldryIcon:SetColor(ZO_DEFAULT_ENABLED_COLOR:UnpackRGBA())
        else
            self.heraldryIcon:SetColor(ZO_DEFAULT_DISABLED_COLOR:UnpackRGBA())
        end
    end
end
    InitializeTooltip(InformationTooltip, control, TOP, 0, 0)
    if(GUILD_SHARED_INFO.canDepositToBank) then
        SetTooltipText(InformationTooltip, GetString(SI_GUILD_TOOLTIP_BANK_DEPOSIT_ENABLED))
    else
        SetTooltipText(InformationTooltip, zo_strformat(SI_GUILD_TOOLTIP_BANK_DEPOSIT_DISABLED, GetNumGuildMembersRequiredForPrivilege(GUILD_PRIVILEGE_BANK_DEPOSIT)))
    end
end
    ClearTooltip(InformationTooltip)
end
    InitializeTooltip(InformationTooltip, control, TOP, 0, 0)
    if(GUILD_SHARED_INFO.canUseTradingHouse) then
        SetTooltipText(InformationTooltip, GetString(SI_GUILD_TOOLTIP_TRADING_HOUSE_ENABLED))
    else
        SetTooltipText(InformationTooltip, zo_strformat(SI_GUILD_TOOLTIP_TRADING_HOUSE_DISABLED, GetNumGuildMembersRequiredForPrivilege(GUILD_PRIVILEGE_TRADING_HOUSE)))
    end
end
    ClearTooltip(InformationTooltip)
end
    InitializeTooltip(InformationTooltip, control, TOP, 0, 0)
    if(GUILD_SHARED_INFO.canUseHeraldry) then
        SetTooltipText(InformationTooltip, GetString(SI_GUILD_TOOLTIP_HERALDRY_ENABLED))
    else
        SetTooltipText(InformationTooltip, zo_strformat(SI_GUILD_TOOLTIP_HERALDRY_DISABLED, GetNumGuildMembersRequiredForPrivilege(GUILD_PRIVILEGE_HERALDRY)))
    end
end
    ClearTooltip(InformationTooltip)
end
    GUILD_SHARED_INFO = GuildSharedInfo:New(self)
end