public override void OnReceivedRoomListUpdate() { if (OnRoomListUpdate != null) { OnRoomListUpdate.Invoke(); } }
void ILANRPCMethodClient.updateDiscoverRoom(LobbyRoomData roomData) { log?.logTrace(name + "收到更新房间消息"); roomData.SetIP(unconnectedInvokeIP.Address.ToString()); _lanRooms[roomData.RoomID] = roomData; OnRoomListUpdate?.Invoke(_lanRooms); }
void ILANRPCMethodClient.addDiscoverRoom(LobbyRoomData room) { log?.logTrace($"收到 {unconnectedInvokeIP} 创建/发送房间消息,房间: {room}"); room.SetIP(unconnectedInvokeIP.Address.ToString()); _lanRooms[room.RoomID] = room; OnRoomListUpdate?.Invoke(_lanRooms); }
void ILANRPCMethodClient.removeDiscoverRoom(string roomID) { log?.logTrace(name + "收到删除房间消息"); if (_lanRooms.ContainsKey(roomID)) { _lanRooms.Remove(roomID); } OnRoomListUpdate?.Invoke(_lanRooms); }
/// <summary> /// 获取当前服务器的房间信息 /// </summary> /// <returns></returns> public async override Task RefreshRoomList() { var roomInfos = await serverClient.GetRoomInfosAsync(); lobby.Clear(); foreach (var item in roomInfos) { lobby[item.RoomID] = item; } OnRoomListUpdate?.Invoke(lobby); }