Back to Home

ESO Lua File v100018

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
local LoadingScreen_Gamepad = {}
function LoadingScreen_Gamepad:InitializeAnimations()
    self.spinnerFadeAnimation = GetAnimationManager():CreateTimelineFromVirtual("SpinnerFadeAnimation")
    self.spinnerFadeAnimation:GetAnimation(1):SetAnimatedControl(GamepadLoadingScreenBg)
    self.spinnerFadeAnimation:GetAnimation(2):SetAnimatedControl(GamepadLoadingScreenSpinner)
    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(GamepadLoadingScreenDescriptionBg)
    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)
    if(not self:IsHidden()) then
        self.longLoadAnimation:PlayFromStart()
    end
end
function LoadingScreen_Gamepad:OnShown()
    self.longLoadAnimation:Stop()
    GamepadLoadingScreenTopMungeLongLoadMessage:SetAlpha(0)
end
function LoadingScreen_Gamepad:OnHidden()
    self.longLoadAnimation:Stop()
    local platform = GetUIPlatform()
    if platform == UI_PLATFORM_PS4 or platform == UI_PLATFORM_XBOX then
        StopLongLoadTimer()
    end
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)
    control:SetHandler("OnShow", function(...) control:OnShown() end);
    control:SetHandler("OnHide", function(...) control:OnHidden() end);
end