コード例 #1
0
    void OnActivate(bool isCheck)
    {
        GPUserOnlineRow row = code.listUserOnline.Find(u => u.mUser.username == mUser.username);

        if (row != null)
        {
            row.value = isCheck;
        }
    }
コード例 #2
0
    /// <summary>
    /// Xủ lý khi có sự thay đổi về danh sách người online, thêm người mới vào lobby, có người thoát ra khỏi lobby
    /// </summary>
    public void OnPluginUpdateUserOnline(string command, string action, EsObject eso)
    {
        if (command == Fields.RESPONSE.USER_ONLINE_UPDATE)
        {
            #region Khi có người mới tham gia hoặc thoát ra khởi room
            EsObject es   = eso.getEsObject(Fields.PLAYER.USERNAME);
            User     user = new User(es);
            if (action == "addUserOnline")
            {
                if (es.getString(Fields.PLAYER.USERNAME) != GameManager.Instance.mInfo.username)
                {
                    lstUser.Add(user);
                    DrawListUserOnline(user, ++i);
                    tableInvite.Reposition();
                }
            }
            else if (action == "removeUserOnline")
            {
                User us = lstUser.Find(u => u.username == user.username);
                if (lstUser.Contains(us))
                {
                    lstUser.Remove(us);
                }

                GPUserOnlineRow rowUser = listUserOnline.Find(o => o.mUser.username == es.getString(Fields.PLAYER.USERNAME));

                if (rowUser != null)
                {
                    listUserOnline.Remove(rowUser);
                    GameObject.Destroy(rowUser.gameObject);
                    tableInvite.repositionNow = true;
                }
            }
            #endregion
        }
    }
コード例 #3
0
    void DrawListUserOnline(User u, int index)
    {
        GPUserOnlineRow userOnline = GPUserOnlineRow.Create(index, tableInvite.transform, u, this);

        listUserOnline.Add(userOnline);
    }