Beispiel #1
0
        async Task updateRoomInfo(RoomInfo roomInfo)
        {
            RoomInfo newRoomInfo = await client.checkRoomInfo(roomInfo);

            if (newRoomInfo != null)
            {
                int index = _LANRoomList.FindIndex(r => r.isSameRoom(roomInfo));
                if (index >= -1)
                {
                    _LANRoomList[index] = newRoomInfo;
                    RoomList     list = ui.NetworkingPageGroup.LANPanel.RoomScrollView.RoomList;
                    RoomListItem item = list.getItems()[index];
                    refreshRoomListItem(item, newRoomInfo);
                }
            }
            else
            {
                int index = _LANRoomList.FindIndex(r => r.isSameRoom(roomInfo));
                if (index > -1)
                {
                    _LANRoomList.RemoveAt(index);
                    RoomList list = ui.NetworkingPageGroup.LANPanel.RoomScrollView.RoomList;
                    list.removeItem(list.getItems()[index]);
                }
            }
        }
Beispiel #2
0
        private void Client_onRoomFound(RoomInfo obj)
        {
            if (obj is RoomInfo tHHRoom)
            {
                int index = _LANRoomList.FindIndex(r => r.id == tHHRoom.id);

                if (index < 0)
                {
                    if (!obj.isSameRoom(host.room))
                    {
                        _LANRoomList.Add(tHHRoom);
                        RoomListItem item = ui.NetworkingPageGroup.LANPanel.RoomScrollView.RoomList.addItem();
                        refreshRoomListItem(item, tHHRoom);
                    }
                }
                else
                {
                    if (!obj.isSameRoom(host.room))
                    {
                        _LANRoomList[index] = tHHRoom;
                        RoomListItem item = ui.NetworkingPageGroup.LANPanel.RoomScrollView.RoomList.getItems()[index];
                        refreshRoomListItem(item, tHHRoom);
                    }
                    else
                    {
                        _LANRoomList.RemoveAt(index);
                        RoomList list = ui.NetworkingPageGroup.LANPanel.RoomScrollView.RoomList;
                        list.removeItem(list.getItems()[index]);
                    }
                }
            }
        }