示例#1
0
    void OnFindNicknameCallback(string nickname)
    {
        pd_PlayerInfo info = m_Players.Find(p => p.nickname == nickname);

        if (info != null)
        {
            m_Players.Remove(info);
            InitItem();
        }
    }
示例#2
0
    //---------------------------------------------------------------------------
    public void Init(pd_PlayerInfo info, eFriendsTabMode state, Action <pd_PlayerInfo> callback)
    {
        m_Info     = info;
        OnCallback = callback;
        gameObject.SetActive(true);
        string profile_id = info.leader_creature.GetProfileName();

        m_SpriteUser.spriteName = profile_id;
        m_LabelLevel.text       = info.player_level.ToString();// Localization.Format("Level", info.player_level);
        m_LabelNickname.text    = info.nickname;

        var friend_info = m_Info as pd_FriendsInfo;

        if (friend_info != null && friend_info.is_connected)
        {
            m_LabelLoginTime.text = Localization.Get("UserConnected");
        }
        else
        {
            m_LabelLoginTime.text = Network.GetConnectedTimeString(info.last_login_at);
        }

        Array.ForEach(m_Rights, e => e.SetActive(false));
        switch (state)
        {
        case eFriendsTabMode.FriendsList:
            m_Rights[0].SetActive(true);
            break;

        case eFriendsTabMode.FriendsAdd:
            m_Rights[1].SetActive(true);
            break;

        case eFriendsTabMode.FriendsRequestList:
            m_Rights[2].SetActive(true);
            break;

        case eFriendsTabMode.FriendsApproveList:
            m_Rights[3].SetActive(true);
            break;
        }

        UpdateButton();
    }
示例#3
0
    void OnClickCallback(pd_PlayerInfo info)
    {
        Vector3 pos = m_Grid.transform.localPosition;

        m_Grid.Reposition();
        m_Grid.transform.localPosition = pos;
        pd_FriendsInfo friends_info = info as pd_FriendsInfo;

        if (friends_info != null)
        {
            if (friends_info.state_info.state == eFriendsState.Friends && m_FriendsList.Exists(e => e.account_idx == info.account_idx) == false)
            {
                m_FriendsList.Add(friends_info);
            }
            else if (friends_info.state_info.state == eFriendsState.Deleted)
            {
                m_FriendsList.Remove(friends_info);
                SHSavedData.FriendDeleteCount = SHSavedData.FriendDeleteCount + 1;
            }
            else if (friends_info.state_info.state == eFriendsState.Request && m_Players != null)
            {
                m_Players.RemoveAll(f => f.account_idx == info.account_idx);
                if (m_Players.Count == 0)
                {
                    InitItem();
                }
            }
        }
        UpdateText();

        if (m_CurrentTab == eFriendsTabMode.FriendsApproveList)
        {
            m_Friends.RemoveAll(e => e.account_idx == info.account_idx);
            Network.Instance.NotifyMenu.is_friends_requested = m_Friends.Count > 0;
            UpdateNotify();
        }
        if (m_CurrentTab == eFriendsTabMode.FriendsList)
        {
            UpdateSendGetButton();
        }
    }