ESO Lua File v100010

ingame/synergy/synergy.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
ZO_Synergy = ZO_Object:Subclass()
function ZO_Synergy:New(control)
    local synergy = ZO_Object.New(self)
    synergy:Initialize(control)
    return synergy
end
function ZO_Synergy:Initialize(control)
    self.control = control
    local function OnSynergyAbilityChanged()
        self:OnSynergyAbilityChanged()
    end
    self.control:RegisterForEvent(EVENT_PLAYER_ACTIVATED, OnSynergyAbilityChanged)
    self.control:RegisterForEvent(EVENT_SYNERGY_ABILITY_CHANGED, OnSynergyAbilityChanged)
    SHARED_INFORMATION_AREA:AddSynergy(self)
    if IsPlayerActivated() then
        self:OnSynergyAbilityChanged()
    end
    local container = self.control:GetNamedChild("Container")
    self.action = container:GetNamedChild("Action")
    self.icon = container:GetNamedChild("Icon")
end
function ZO_Synergy:OnSynergyAbilityChanged()
    local synergyName, iconFilename = GetSynergyInfo()
    if synergyName and iconFilename then
        if self.lastSynergyName ~= synergyName then
            PlaySound(SOUNDS.ABILITY_SYNERGY_READY)
            self.action:SetText(zo_strformat(SI_USE_SYNERGY, synergyName))
        end
        
        self.icon:SetTexture(iconFilename)
        SHARED_INFORMATION_AREA:SetHidden(self, false)
    else
        SHARED_INFORMATION_AREA:SetHidden(self, true)
    end
    self.lastSynergyName = synergyName
end
function ZO_Synergy:SetHidden(hidden)
    self.control:SetHidden(hidden)
end
function ZO_Synergy:IsVisible()
    return not SHARED_INFORMATION_AREA:IsHidden(self)
end
    SYNERGY = ZO_Synergy:New(control)
end