ESO Lua File v100011

app/loadingscreen/gamepad/gamepadloadingscreen.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
local LoadingScreen_Gamepad = {}
function LoadingScreen_Gamepad:InitializeAnimations()
    self.animations = GetAnimationManager():CreateTimelineFromVirtual("GamepadLoadingCompleteAnimation")
    self.animations:GetAnimation(1):SetAnimatedControl(GamepadLoadingScreenArt)
    self.animations:GetAnimation(2):SetAnimatedControl(GamepadLoadingScreenTopMunge)
    self.animations:GetAnimation(3):SetAnimatedControl(GamepadLoadingScreenBottomMunge)
    self.animations:GetAnimation(4):SetAnimatedControl(GamepadLoadingScreenBottomMungeZoneInfoContainer)
    self.animations:GetAnimation(5):SetAnimatedControl(GamepadLoadingScreenZoneDescription)
    self.animations:GetAnimation(6):SetAnimatedControl(GamepadLoadingScreenSpinner)
    self.animations.control = self
    self.longLoadAnimation = GetAnimationManager():CreateTimelineFromVirtual("LongLoadingAnimation")
    self.longLoadAnimation:GetAnimation(1):SetAnimatedControl(GamepadLoadingScreenTopMungeLongLoadMessage)
    self.longLoadAnimation:GetAnimation(2):SetAnimatedControl(GamepadLoadingScreenTopMungeLongLoadMessage)
    self.longLoadAnimation.control = GamepadLoadingScreenTopMungeLongLoadMessage
    local function OnLongLoadAnimationStop(timeline, completed)
        timeline.control:SetAlpha(0)
    end
    self.longLoadAnimation:SetHandler("OnStop", OnLongLoadAnimationStop)
end
function LoadingScreen_Gamepad:GetSystemName()
    return "GamepadLoadingScreen"
end
function LoadingScreen_Gamepad:OnLongLoadTime(event)
    self.longLoadAnimation:PlayFromStart()
end
function LoadingScreen_Gamepad:IsPreferredScreen()
    return IsInGamepadPreferredMode()
end
    zo_mixin(control, LoadingScreen_Base, LoadingScreen_Gamepad)
    control:Initialize()
    EVENT_MANAGER:RegisterForEvent("LoadingScreen", EVENT_LOAD_RUNNING_LONG, function(...) control:OnLongLoadTime(...) end)
    local function OnSubsystemLoadComplete(eventCode, system)
        if GetNumTotalSubsystemsToLoad() == GetNumLoadedSubsystems() then
            control.longLoadAnimation:Stop()
        end
    end
    EVENT_MANAGER:RegisterForEvent("GamepadLoadingScreen", EVENT_SUBSYSTEM_LOAD_COMPLETE, OnSubsystemLoadComplete)
end