Back to Home

ESO Lua File v101043

ingame/crafting/gamepad/craftingalerttext_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
104
105
106
local DEFAULT_GAMEPAD_ALERT_TEMPLATE = "ZO_CraftingAlertLineGamepad"
local ZO_CraftingAlertText_Gamepad = ZO_AlertText_Base:Subclass()
function ZO_CraftingAlertText_Gamepad:New(...)
    return ZO_AlertText_Base.New(self, ...)
end
function ZO_CraftingAlertText_Gamepad:InternalPerformAlert(category, soundId, message, template)
    local color = self:GetAlertColor(category)
    local alertData = message
    if not (type(alertData) == "table") then
        alertData = 
        {
            lines = 
            {
                {text = message, category = category, color = color, soundId = soundId}
            }
        }
    end
    self.alerts:AddEntry(self.alerts:HasTemplate(template) and template or DEFAULT_GAMEPAD_ALERT_TEMPLATE, alertData)
end
function ZO_CraftingAlertText_Gamepad:AddTemplate(template, templateData)
    self.alerts:AddTemplate(template, templateData)
end
function ZO_CraftingAlertText_Gamepad:ClearAll()
    self.alerts:ClearAll()
end
function ZO_CraftingAlertText_Gamepad:FadeAll()
    self.alerts:FadeAll()
end
function ZO_CraftingAlertText_Gamepad:CondenseMaxHeight(heightToSubtract)
    local newHeight = zo_max(0, self.defaultMaxHeight - heightToSubtract)
    self.alerts:SetMaxHeight(newHeight)
end
local function SetupFunction(control, data)
    control:SetWidth(GuiRoot:GetRight() - ZO_Compass:GetRight() - ZO_GAMEPAD_CONTENT_INSET_X - ZO_GAMEPAD_SAFE_ZONE_INSET_X)
    ZO_SoundAlert(data.category, data.soundId)
end
function ZO_CraftingAlertText_Gamepad:Initialize(control)
    ZO_AlertText_Base.Initialize(self)
    local anchor = ZO_Anchor:New(TOPRIGHT, ZO_WRIT_ADVISOR_GAMEPAD:GetControl(), BOTTOMRIGHT, 7, 24)
    local MAX_DISPLAYED_ENTRIES_GAMEPAD = 2
    local MAX_HEIGHT_GAMEPAD = 800
    local NO_MAX_LINES_PER_ENTRY_GAMEPAD = nil
    self.defaultMaxHeight = MAX_HEIGHT_GAMEPAD
    local NARRATE_ALL_ENTRIES = true
    self.alerts = ZO_FadingControlBuffer:New(control, MAX_DISPLAYED_ENTRIES_GAMEPAD, MAX_HEIGHT_GAMEPAD, NO_MAX_LINES_PER_ENTRY_GAMEPAD, "AlertFadeGamepad", "AlertTranslateGamepad", anchor, NARRATE_ALL_ENTRIES)
    self.alerts:AddTemplate(DEFAULT_GAMEPAD_ALERT_TEMPLATE, {setup = SetupFunction})
    self.alerts:SetTranslateDuration(1500)
    self.alerts:SetHoldTimes(6000)
    self.alerts:SetFadesInImmediately(true)
end
    CRAFTING_ALERT_MESSAGES_GAMEPAD = ZO_CraftingAlertText_Gamepad:New(control)
end
--[[ Global Alert Functions ]]--
function ZO_CraftingAlertNoSuppressionTemplated_Gamepad(category, soundId, message, template, ...)
    if not message then
        return
    end
    if not type(message) == "table" then
        message = zo_strformat(message, ...)
    end
    if message == "" then
        return
    end
    CRAFTING_ALERT_MESSAGES_GAMEPAD:InternalPerformAlert(category, soundId, message, template)
end
function ZO_CraftingAlertAddTemplate_Gamepad(template, templateData)
    CRAFTING_ALERT_MESSAGES_GAMEPAD:AddTemplate(template, templateData)
end
    CRAFTING_ALERT_MESSAGES_GAMEPAD:FadeAll()
end
    CRAFTING_ALERT_MESSAGES_GAMEPAD:ClearAll()
end
function ZO_CraftingAlertCondenseMaxHeight_Gamepad(heightToSubtract)
    CRAFTING_ALERT_MESSAGES_GAMEPAD:CondenseMaxHeight(heightToSubtract)
end