Back to Home

ESO Lua File v101044

ingame/crafting/gamepad/craftingenchantextractslotanimation_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
ZO_CraftingEnchantExtractSlotAnimation_Gamepad = ZO_CraftingSlotAnimationBase:Subclass()
function ZO_CraftingEnchantExtractSlotAnimation_Gamepad:New(...)
    return ZO_CraftingSlotAnimationBase.New(self, ...)
end
function ZO_CraftingEnchantExtractSlotAnimation_Gamepad:Initialize(sceneName, visibilityPredicate)
    ZO_CraftingSlotAnimationBase.Initialize(self, sceneName, visibilityPredicate)
end
do
    local g_extractPool
    function AcquireSlotExtraction()
        if not g_extractPool then
            local function Factory(objectPool)
                local extractionBurst = ZO_ObjectPool_CreateNamedControl("ZO_CraftingEnchantExtractionBurst_Gamepad", "ZO_CraftingEnchantExtractionBurst", objectPool, GuiRoot)
                local burstAnimation = ANIMATION_MANAGER:CreateTimelineFromVirtual("CraftingEnchantExtractionBurstAnimation_Gamepad")
                extractionBurst.animation = burstAnimation
                -- burst fade in
                burstAnimation:GetAnimation(1):SetAnimatedControl(extractionBurst.burst1)
                burstAnimation:GetAnimation(2):SetAnimatedControl(extractionBurst.burst2)
                burstAnimation:GetAnimation(3):SetAnimatedControl(extractionBurst.burst1)
                burstAnimation:GetAnimation(4):SetAnimatedControl(extractionBurst.burst2)
                -- burst fade out
                burstAnimation:GetAnimation(5):SetAnimatedControl(extractionBurst.burst1)
                burstAnimation:GetAnimation(6):SetAnimatedControl(extractionBurst.burst2)
                -- burst rotations
                burstAnimation:GetAnimationTimeline(1):GetAnimation(1):SetAnimatedControl(extractionBurst.burst1)
                burstAnimation:GetAnimationTimeline(1):GetAnimation(2):SetAnimatedControl(extractionBurst.burst2)
                burstAnimation:GetAnimation(8):SetHandler("OnStop", function() g_extractPool:ReleaseObject(extractionBurst.key) burstAnimation:Stop() end)
                return extractionBurst
            end
            g_extractPool = ZO_ObjectPool:New(Factory, ZO_ObjectPool_DefaultResetControl)
        end
        local extractionBurst, key = g_extractPool:AcquireObject()
        extractionBurst.key = key
        return extractionBurst
    end
end
function ZO_CraftingEnchantExtractSlotAnimation_Gamepad:Play(sceneName)
    ClearMenu()
    for i, slot in ipairs(self.slots) do
        local extractionBurst = AcquireSlotExtraction()
        extractionBurst:SetHidden(false)
        extractionBurst:SetParent(slot:GetControl())
        extractionBurst:SetAnchor(CENTER, nil, CENTER)
        local icon = slot:GetControl():GetNamedChild("Icon")
        extractionBurst.animation:GetAnimation(7):SetAnimatedControl(icon)
        extractionBurst.animation:GetAnimation(8):SetAnimatedControl(icon)
        local name = slot:GetControl():GetNamedChild("Name")
        extractionBurst.animation:GetAnimation(9):SetAnimatedControl(name)
        extractionBurst.animation:GetAnimation(10):SetAnimatedControl(name)
        extractionBurst.animation:PlayFromStart()
    end
end