ESO Lua File v100012

ingame/contacts/gamepad/contacts_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
-----------------
--Contacts Manager
-----------------
local ZO_GamepadContactsManager = ZO_Object:Subclass()
function ZO_GamepadContactsManager:New(control)
    local manager = ZO_Object.New(self)
    manager:Initialize(control)
    return manager
end
function ZO_GamepadContactsManager:Initialize(control)
    self.control = control
    -- Setup the friends list screen
    local friendsList = control:GetNamedChild("Main"):GetNamedChild("FriendsContainer"):GetNamedChild("FriendsList")
    self.friendsList = ZO_GamepadFriendsListPanel:New(friendsList)
    self.friendsList:SetTitle(GetString(SI_GAMEPAD_CONTACTS_FRIENDS_LIST_TITLE))
    -- Setup the ignore list screen
    local ignoreList = control:GetNamedChild("Main"):GetNamedChild("IgnoreContainer"):GetNamedChild("IgnoreList")
    self.ignoreList = ZO_GamepadIgnoreListPanel:New(ignoreList)
    self.ignoreList:SetTitle(GetString(SI_GAMEPAD_CONTACTS_IGNORED_LIST_TITLE))
 
    -- Setup the footer
    self.footerData = {
        data1HeaderText = GetString(SI_GAMEPAD_CONTACTS_HEADER_FRIENDS_ONLINE),
    }
    local function SharedSetup()
        self:RefreshFooter()
        TriggerTutorial(TUTORIAL_TRIGGER_CONTACTS_OPENED)
    end
    GAMEPAD_FRIENDS_LIST_SCENE = ZO_Scene:New("gamepad_friends", SCENE_MANAGER)
    GAMEPAD_FRIENDS_LIST_SCENE:RegisterCallback("StateChange",  function(oldState, newState)
                                                            if(newState == SCENE_SHOWING) then
                                                                if IsConsoleUI() and RequestSocialListForActiveProfile then
                                                                    RequestSocialListForActiveProfile()
                                                                end
                                                                SharedSetup()
                                                            end
                                                        end)
    
    GAMEPAD_IGNORED_LIST_SCENE = ZO_Scene:New("gamepad_ignored", SCENE_MANAGER)
    GAMEPAD_IGNORED_LIST_SCENE:RegisterCallback("StateChange",  function(oldState, newState)
                                                            if(newState == SCENE_SHOWING) then
                                                                SharedSetup()
                                                            end
                                                        end)
end
function ZO_GamepadContactsManager:PerformDeferredInitialization()
    if self.initialized then return end
    self.initialized = true
    self:UpdateOnline()
end
function ZO_GamepadContactsManager:UpdateOnline()
    if not self.control:IsControlHidden() then
        self:RefreshFooter()
    end
end
function ZO_GamepadContactsManager:RefreshFooter()
    self.footerData.data1Text = zo_strformat(SI_GAMEPAD_CONTACTS_HEADER_FRIENDS_ONLINE_FORMAT, FRIENDS_LIST_MANAGER:GetNumOnline(), GetNumFriends())
    GAMEPAD_GENERIC_FOOTER:Refresh(self.footerData)
end
    GAMEPAD_CONTACTS = ZO_GamepadContactsManager:New(self)
end