ESO Lua File v100012

ingame/leaderboards/gamepad/raidleaderboards_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
local ZO_RaidLeaderboardsManager_Gamepad = ZO_RaidLeaderboardsManager_Shared:Subclass()
function ZO_RaidLeaderboardsManager_Gamepad:New(...)
    local manager = ZO_RaidLeaderboardsManager_Shared.New(self, ...)
    return manager
end
function ZO_RaidLeaderboardsManager_Gamepad:Initialize(control)
    GAMEPAD_RAID_LEADERBOARD_FRAGMENT = ZO_SimpleSceneFragment:New(control)
    ZO_RaidLeaderboardsManager_Shared.Initialize(self, control, GAMEPAD_LEADERBOARDS, GAMEPAD_LEADERBOARDS_SCENE, GAMEPAD_RAID_LEADERBOARD_FRAGMENT)
    self.raidListNodes = {}
    GAMEPAD_RAID_LEADERBOARD_FRAGMENT:RegisterCallback("StateChange", function(oldState, newState)
                                                 if newState == SCENE_FRAGMENT_SHOWING then
                                                     self:PerformDeferredInitialization(control)
                                                     self:UpdatePlayerInfo()
                                                     self:UpdatePlayerParticipationStatus()
                                                     self:UpdateRaidScore()
                                                     self:ClearUnusedHeaderData()
                                                 end
                                             end)
end
function ZO_RaidLeaderboardsManager_Gamepad:PerformDeferredInitialization(control)
    if self.isInitialized then return end
    self.isInitialized = true
end
function ZO_RaidLeaderboardsManager_Gamepad:RefreshHeaderPlayerInfo()
    local headerData = self.leaderboardSystem.headerData
    
    headerData.data1HeaderText = GetString(SI_GAMEPAD_RAID_LEADERBOARDS_BEST_SCORE_LABEL)
    if self.currentScoreData then
        headerData.data1Text = zo_strformat(SI_GAMEPAD_RAID_LEADERBOARDS_BEST_SCORE, self.currentScoreData)
    else
        headerData.data1Text = GetString(SI_GAMEPAD_RAID_LEADERBOARDS_NO_SCORE_RECORDED)
    end
    if self.currentRankData then
        headerData.data2Text = zo_strformat(SI_GAMEPAD_LEADERBOARDS_CURRENT_RANK, self.currentRankData)
    else
        headerData.data2Text = GetString(SI_GAMEPAD_RAID_LEADERBOARDS_NOT_RANKED)
    end
end
function ZO_RaidLeaderboardsManager_Gamepad:RefreshHeaderTimer()
    local headerData = self.leaderboardSystem.headerData
    if self.timerLabelData then
        if self.timerLabelIdentifier == SI_RAID_LEADERBOARDS_REOPENS_IN_TIMER then
            headerData.data4HeaderText = GetString(SI_GAMEPAD_LEADERBOARDS_REOPENS_IN_TIMER_LABEL)
            headerData.data4Text = zo_strformat(SI_GAMEPAD_LEADERBOARDS_TIMER, self.timerLabelData)
        else
            headerData.data4HeaderText = GetString(SI_GAMEPAD_LEADERBOARDS_CLOSES_IN_TIMER_LABEL)
            headerData.data4Text = zo_strformat(SI_GAMEPAD_LEADERBOARDS_TIMER, self.timerLabelData)
        end
    else
        headerData.data4HeaderText = ""
        headerData.data4Text = ""
    end
    ZO_GamepadGenericHeader_RefreshData(self.leaderboardSystem.leaderboardHeader, headerData)
end
function ZO_RaidLeaderboardsManager_Gamepad:RefreshActiveScore(showScore)
    local headerData = self.leaderboardSystem.headerData
    if showScore then
        headerData.data3Text = zo_strformat(SI_GAMEPAD_RAID_LEADERBOARDS_CURRENT_SCORE, GetCurrentRaidScore())
    else
        headerData.data3Text = ""
    end
    headerData.data3HeaderText = ""
end
function ZO_RaidLeaderboardsManager_Gamepad:RefreshHeaderScoringInfo()
    local title = self.leaderboardSystem.titleName
    if self.scoringInfoText then
        title = zo_strformat(SI_GAMEPAD_LEADERBOARDS_CONTENT_TITLE_SCORING_FORMATTER, title, self.scoringInfoText)
    end
    self.leaderboardSystem.headerData.titleText = title
end
function ZO_RaidLeaderboardsManager_Gamepad:ClearUnusedHeaderData()
    local headerData = self.leaderboardSystem.headerData
    headerData.data3Text = ""
end
    GAMEPAD_RAID_LEADERBOARDS = ZO_RaidLeaderboardsManager_Gamepad:New(self)
    SYSTEMS:RegisterGamepadObject(RAID_LEADERBOARD_SYSTEM_NAME, GAMEPAD_RAID_LEADERBOARDS)
end