public void GoLogin() { if ((tc.user_name != "" && NameBox.IsAlphanumeric(tc.user_name)) && tc.room_no > 0 && tc.room_no <= 500 && p) { p = false; tc.p = false; Debug.Log("ログインします"); Dictionary <string, string> post = new Dictionary <string, string> { { "name", tc.user_name }, { "room_no", tc.room_no.ToString() } }; WWWForm form = new WWWForm(); foreach (KeyValuePair <string, string> post_arg in post) { form.AddField(post_arg.Key, post_arg.Value); } string url = "http://192.168.3.83:" + tc.port.ToString() + "/users/login"; WWW www = new WWW(url, form); StartCoroutine(WaitForRequest(www)); } else if (p) { Debug.Log("ログインできません"); RoomBox.check(tc.room_no); NameBox.check(tc.user_name); } }
private async Task LoadRoomsForBuilding(int buildingId) { RoomBox.ClearValue(ItemsControl.ItemsSourceProperty); RoomBox.DisplayMemberPath = "Code"; RoomBox.SelectedValuePath = "RoomID"; RoomBox.ItemsSource = await roomCore.GetRoomsForBuildingAsync(buildingId); }
public void OnMatchList(bool success, string extendedInfo, List <MatchInfoSnapshot> matches) { status.text = "Room Found"; if (matches == null) { status.text = "No rooms..."; return; } foreach (MatchInfoSnapshot match in matches) { GameObject roomBoxgo = Instantiate(roomBoxPre); roomBoxgo.transform.SetParent(roomListParent); roomBoxgo.transform.localScale = transform.localScale; RoomBox roomBoxx = roomBoxgo.GetComponent <RoomBox>(); if (roomBoxx != null) { roomBoxx.Setup(match, JoinRoom); } roomList.Add(roomBoxgo); } if (roomList.Count == 0) { status.text = "No rooms here!"; } }
private static void InitRoomRoom(Room room) { RoomBox = room.GetBoundingBox(Doc); RoomEdges = room.GetEdgeList(); RowNum = 1; InsBox = RoomBox.GetInsBox(PickBox); InsEdges = InsBox.GetPlaneEdges(); }
private async Task LoadBuildings() { BuildingBox.ClearValue(ItemsControl.ItemsSourceProperty); BuildingBox.DisplayMemberPath = "Name"; BuildingBox.SelectedValuePath = "BuildingID"; BuildingBox.ItemsSource = await roomCore.GetAssignedBuildingsForConferenceAsync(UserCredentials.Conference.ConferenceId); RoomBox.ClearValue(ItemsControl.ItemsSourceProperty); }
public void SaveRoomInfo() { RoomBox RB = new RoomBox() { data = Roomlist }; //房间信息 MMPU.SaveFile(MMPU.RoomConfigFile, JsonConvert.SerializeObject(RB)); }
public void SaveRoomInfo() { RoomBox RB = new RoomBox() { data = Roomlist }; //房间信息 MMPU.SaveFile("./RoomListConfig.ini", JsonConvert.SerializeObject(RB)); }
public bool AddNewPlayerToRoom(RoomBox.PlayersID player, int connectionId, Room room) { RoomBox roomBox = GetRoomBoxFromRoom(room); if (roomBox != null) { roomBox.AddPlayer(player, connectionId); UpdateGUI(roomBox); return(true); } return(false); }
private void UpdateGUI(RoomBox room) { GameObject box = GameObject.Find("ResetButtonText" + room.boxId); Text boxText = box.GetComponent <Text>(); boxText.text = "RESET" + room.boxId + "\n"; foreach (RoomBox.PlayersID player in room.currentPlayers.Values) { boxText.text += player.ToString()[0] + " "; } //TODO: Hacer que se muestre el room }
public bool DeletePlayerFromRoom(int connectionId, Room room) { RoomBox roomBox = GetRoomBoxFromRoom(room); if (roomBox != null) { //occupiedRooms[roomBox.boxId] = false; roomBox.DeletePlayer(connectionId); UpdateGUI(roomBox); return(true); } return(false); }
public void AddNewRoom(Room room) { if (activeRooms > maxRooms) { Debug.LogError("No es posible mostrar mas de 15 rooms en la interfaz. Se intentó agregar room numero " + activeRooms); //TODO: LLevar la cuenta de los rooms a nivel de servidor para que no puedan existir más de maxNumber. } int id = room.id; activeRooms++; RoomBox newRoom = new RoomBox(id, GetFreePosition(), room); roomBoxs.Add(newRoom); UpdateGUI(newRoom); }
private async Task LoadBuildings() { BuildingBox.ClearValue(ItemsControl.ItemsSourceProperty); BuildingBox.DisplayMemberPath = "Name"; BuildingBox.SelectedValuePath = "BuildingID"; BuildingBox.ItemsSource = await roomCore.GetAssignedBuildingsForConferenceAsync(UserCredentials.Conference.ConferenceId); if (RoomBox.SelectedIndex >= 0) { lastSelectedRoom = (RoomDTO)RoomBox.SelectedItem; } RoomBox.ClearValue(ItemsControl.ItemsSourceProperty); if (lastSelectedRoom != null) { BuildingBox.SelectedValue = lastSelectedRoom.BuildingID; } }
/// <summary> /// 初始化房间列表 /// </summary> public static void InitializeRoomList() { var rlc = new RoomBox(); rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); List <RoomCadr> RoomConfigList = new List <RoomCadr>();//房间信息1List RoomConfigList = rlc?.data; if (RoomConfigList == null) { RoomConfigList = new List <RoomCadr>(); } bilibili.RoomList.Clear(); if (初始化储存房间储存一次) { string JOO = JsonConvert.SerializeObject(rlc); MMPU.储存文本(JOO, RoomConfigFile); 初始化储存房间储存一次 = false; } foreach (var item in RoomConfigList) { if (item.Types == "bilibili") { bilibili.RoomList.Add(new bilibili.RoomInfo { 房间号 = item.RoomNumber, 标题 = "", 是否录制弹幕 = item.VideoStatus, 是否录制视频 = item.VideoStatus, UID = "", 直播开始时间 = "", 称 = item.Name, 直播状态 = item.LiveStatus, 原名 = item.OfficialName, 是否提醒 = item.RemindStatus }); if (首次启动) { bilibili.RoomList[bilibili.RoomList.Count() - 1].直播状态 = false; } } } 首次启动 = false; }
private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) { RoomBox.Hide(); RoomCombo.Show(); RoomCombo.DataSource = WindowHandler.controllerObj.ViewConsoles(); RoomCombo.DisplayMember = "room_no"; AddConsoleBTN.Text = "Update"; InsertGroup.Text = "Update Console"; } else { RoomBox.Show(); RoomCombo.Hide(); AddConsoleBTN.Text = "Add"; InsertGroup.Text = "Add Console"; } }
private async Task LoadAvailableRooms() { if (RoomBox.SelectedIndex >= 0) { lastSelectedRoom = (RoomDTO)RoomBox.SelectedItem; } RoomBox.ClearValue(ItemsControl.ItemsSourceProperty); RoomBox.DisplayMemberPath = "Code"; RoomBox.SelectedValuePath = "RoomID"; var roomId = currentSession == null ? (currentSpecialSession == null ? 0 : currentSpecialSession.RoomId) : currentSession.RoomId; if (BeginDatePicker.SelectedDate.HasValue && EndDatePicker.SelectedDate.HasValue && BuildingBox.SelectedIndex >= 0) { RoomBox.ItemsSource = await roomCore.GetAvailableRoomsAsync(((BuildingDTO)BuildingBox.SelectedItem).BuildingID, BeginDatePicker.SelectedDate.Value, EndDatePicker.SelectedDate.Value, roomId); } if (lastSelectedRoom != null) { RoomBox.SelectedValue = lastSelectedRoom.RoomID; } }
/// <summary> /// 初始化房间列表 /// </summary> /// <param name="roomId">有变动的房间号</param> /// <param name="R">是否是删除操作</param> public static void InitializeRoomList(int roomId, bool Rem, bool Rst) { //if(Rst) //{ // 首次启动 = true; // foreach (var BWSitem in biliWebSocket) // { // BWSitem.listener.Close(); // BWSitem.listener.Dispose(); // biliWebSocket.Remove(BWSitem); // } //} //if (roomId > 0) //{ // if(!Rem) // { // BiliWebSocket BWS = new BiliWebSocket(); // BWS.WebSocket(roomId); // biliWebSocket.Add(BWS); // } // else // { // foreach (var item in biliWebSocket) // { // if(item.room_id==roomId) // { // item.listener.Close(); // item.listener.Dispose(); // biliWebSocket.Remove(item); // break; // } // } // } //} InfoLog.InfoPrintf("开始刷新本地房间列表", InfoLog.InfoClass.Debug); var rlc = new RoomBox(); try { rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); } catch (Exception) { rlc = JsonConvert.DeserializeObject <RoomBox>("{}"); InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息); InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息); InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息); return; } List <RoomCadr> RoomConfigList = new List <RoomCadr>();//房间信息1List RoomConfigList = rlc?.data; if (RoomConfigList == null) { RoomConfigList = new List <RoomCadr>(); } bilibili.RoomList.Clear(); youtube.RoomList.Clear(); if (初始化储存房间储存一次) { string JOO = JsonConvert.SerializeObject(rlc); MMPU.储存文本(JOO, RoomConfigFile); 初始化储存房间储存一次 = false; } foreach (var item in RoomConfigList) { if (item.Types == "bilibili") { //if(首次启动) //{ // BiliWebSocket BWS = new BiliWebSocket(); // BWS.WebSocket(int.Parse(item.RoomNumber)); // biliWebSocket.Add(BWS); //} bilibili.RoomList.Add(new RoomInfo { 房间号 = item.RoomNumber, 标题 = "", 是否录制弹幕 = item.VideoStatus, 是否录制视频 = item.VideoStatus, UID = "", 直播开始时间 = "", 称 = item.Name, 直播状态 = item.LiveStatus, 原名 = item.OfficialName, 是否提醒 = item.RemindStatus, 平台 = "bilibili" }); if (首次启动) { bilibili.RoomList[bilibili.RoomList.Count - 1].直播状态 = false; } } else if (item.Types == "youtube") { youtube.RoomList.Add(new RoomInfo { 房间号 = item.RoomNumber, 标题 = "", 是否录制弹幕 = item.VideoStatus, 是否录制视频 = item.VideoStatus, UID = "", 直播开始时间 = "", 称 = item.Name, 直播状态 = item.LiveStatus, 原名 = item.OfficialName, 是否提醒 = item.RemindStatus, 平台 = "youtube" }); if (首次启动) { youtube.RoomList[youtube.RoomList.Count - 1].直播状态 = false; } } } if (首次启动) { InfoLog.InfoPrintf("监控列表中有" + (bilibili.RoomList.Count() + youtube.RoomList.Count()) + "个单推对象,开始监控", InfoLog.InfoClass.载必要提示); } 首次启动 = false; InfoLog.InfoPrintf("刷新本地房间列表完成", InfoLog.InfoClass.Debug); }
private void BT1_Click(object sender, RoutedEventArgs e) { try { if (string.IsNullOrEmpty(平台.SelectedItem.ToString())) { MessageBox.Show("未选择平台"); return; } } catch (Exception) { MessageBox.Show("未选择平台"); return; } if (string.IsNullOrEmpty(中文名称.Text) || string.IsNullOrEmpty(平台.SelectedItem.ToString()) || string.IsNullOrEmpty(唯一码.Text)) { MessageBox.Show("不能留空"); return; } if (this.Title == "添加新单推" || this.Title == "从网络添加房间") { if (平台.SelectedItem.ToString() == "bilibili") { foreach (var item in RoomInit.bilibili房间主表) { if (item.唯一码 == 唯一码.Text) { MessageBox.Show("已存在相同的房间号!\n" + item.称 + " " + item.平台 + " " + item.唯一码); return; } } } else if (平台.SelectedItem.ToString() == "youtube") { foreach (var item in RoomInit.youtube房间主表) { if (item.唯一码 == 唯一码.Text) { MessageBox.Show("已存在相同的房间号!\n" + item.称 + " " + item.平台 + " " + item.唯一码); return; } } } 新增V信息 NEWV = new 新增V信息() { CN_Name = 中文名称.Text, LA_Name = 官方名称.Text, Platform = 平台.SelectedItem.ToString(), GUID = 唯一码.Text }; NewThreadTask.Run(() => { MMPU.TcpSend(Server.RequestCode.GET_NEW_MEMBER_LIST_CONTENT, JsonConvert.SerializeObject(NEWV), true); }); RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox(); RB.data = new List <RoomCadr>(); if (rlc.data != null) { foreach (var item in rlc.data) { RB.data.Add(item); if (RoomInit.根据唯一码获取直播状态(item.RoomNumber)) { RB.data[RB.data.Count() - 1].LiveStatus = true; } } } RB.data.Add(new RoomCadr { Name = 中文名称.Text, RoomNumber = 唯一码.Text, Types = 平台.SelectedItem.ToString(), RemindStatus = false, status = false, VideoStatus = false, OfficialName = 官方名称.Text, LiveStatus = RoomInit.根据唯一码获取直播状态(GUID) }); string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); if (平台.SelectedItem.ToString() == "bilibili") { InitializeRoomList(int.Parse(唯一码.Text), false, false); } else { InitializeRoomList(0, false, false); } //更新房间列表(平台.SelectedItem.ToString(), 唯一码.Text,1); //MessageBox.Show("添加成功"); } else if (this.Title == "修改单推属性") { 新增V信息 NEWV = new 新增V信息() { CN_Name = 中文名称.Text, LA_Name = 官方名称.Text, Platform = 平台.SelectedItem.ToString(), GUID = 唯一码.Text }; NewThreadTask.Run(() => { MMPU.TcpSend(Server.RequestCode.GET_NEW_MEMBER_LIST_CONTENT, JsonConvert.SerializeObject(NEWV), true); }); RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox(); RB.data = new List <RoomCadr>(); if (rlc.data != null) { foreach (var item in rlc.data) { if (item.RoomNumber == GUID) { RB.data.Add(item); RB.data[RB.data.Count - 1].Name = 中文名称.Text; RB.data[RB.data.Count - 1].OfficialName = 官方名称.Text; RB.data[RB.data.Count - 1].Types = 平台.SelectedItem.ToString(); } else { RB.data.Add(item); if (RoomInit.根据唯一码获取直播状态(item.RoomNumber)) { RB.data[RB.data.Count() - 1].LiveStatus = true; } } } } string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); InitializeRoomList(0, false, false); //var rlc2 = JsonConvert.DeserializeObject<RoomBox>(ReadConfigFile(RoomConfigFile)); //RoomBox RB = new RoomBox(); //RB.data = new List<RoomCadr>(); //int rlclen = 房间主表.Count()-1; //int 覆盖的编号 = 0; //for (int i =0;i< rlclen; i++) //{ // if(房间主表[i].唯一码==GUID) // { // 覆盖的编号 = i; // //房间主表.Remove(房间主表[i]); // //i--; // RB.data.Add(new RoomCadr { Name = 中文名称.Text, RoomNumber = 唯一码.Text, Types = 平台.SelectedItem.ToString(), RemindStatus = false, status = false, VideoStatus = false, OfficialName = 官方名称.Text,LiveStatus= RoomInit.根据唯一码获取直播状态(GUID) }); // } // else // { // RB.data.Add(new RoomCadr(){ LiveStatus= 房间主表[i] .直播状态,Name= 房间主表[i] .名称,OfficialName= 房间主表[i] .原名,RoomNumber= 房间主表[i] .唯一码,VideoStatus= 房间主表[i] .是否录制,Types= 房间主表[i] .平台, RemindStatus= 房间主表[i] .是否提醒,status=false }); // if (RoomInit.根据唯一码获取直播状态(房间主表[i].唯一码)) // { // RB.data[RB.data.Count() - 1].LiveStatus = true; // } // } //} //房间主表.Clear(); //foreach (var item in RB.data) //{ // 房间主表.Add(new RL { 名称=item.Name,原名=item.OfficialName,唯一码=item.RoomNumber,平台=item.Types,是否录制=item.VideoStatus,是否提醒=item.RemindStatus,直播状态=item.LiveStatus}); //} //新增V信息 NEWV = new 新增V信息() { CN_Name = 中文名称.Text, LA_Name = 官方名称.Text, Platform = 平台.SelectedItem.ToString(), GUID = 唯一码.Text }; //new Task(() => { MMPU.TcpSend(20001, JsonConvert.SerializeObject(NEWV), true); }).Start(); //string JOO = JsonConvert.SerializeObject(RB); //MMPU.储存文本(JOO, RoomConfigFile); //InitializeRoomList(); ////MessageBox.Show("修改成功"); } this.Close(); }
/// <summary> /// /// </summary> /// <param name="a">T修改录制设置,F修改提醒设置</param> public void 修改列表设置(bool a) { Console.WriteLine(已选内容); bool 是否改过 = false; if (string.IsNullOrEmpty(已选内容)) { System.Windows.MessageBox.Show("未选择"); return; } //编号 = 1, 名称 = 智障爱, 状态 = ○未直播, 平台 = bilibili, 是否提醒 = √, 是否录制 = , 唯一码 = 1485080, 原名 = 等待框.Visibility = Visibility.Visible; RoomBox RB = new RoomBox { data = new List <RoomCadr>() }; while (RoomInit.房间主表长度 != 房间主表.Count() && RoomInit.房间主表长度 != 0) { Thread.Sleep(10); } int rlclen = 房间主表.Count(); for (int i = 0; i < rlclen; i++) { if (房间主表[i].唯一码 == MMPU.获取livelist平台和唯一码.唯一码(已选内容)) { if (!是否改过) { 是否改过 = true; 房间主表.Remove(房间主表[i]); rlclen--; i--; bool 是否录制 = MMPU.获取livelist平台和唯一码.是否录制(已选内容) == "√" ? true : false; bool 是否提醒 = MMPU.获取livelist平台和唯一码.是否提醒(已选内容) == "√" ? true : false; if (a) { 是否录制 = !是否录制; if (是否录制) { 已选内容 = 已选内容.Replace("是否录制 = ", "是否录制 = √"); } else { 已选内容 = 已选内容.Replace("是否录制 = √", "是否录制 = "); } } else { 是否提醒 = !是否提醒; if (是否提醒) { 已选内容 = 已选内容.Replace("是否提醒 = ", "是否提醒 = √"); } else { 已选内容 = 已选内容.Replace("是否提醒 = √", "是否提醒 = "); } } RB.data.Add(new RoomCadr { Name = MMPU.获取livelist平台和唯一码.称(已选内容), RoomNumber = MMPU.获取livelist平台和唯一码.唯一码(已选内容), Types = MMPU.获取livelist平台和唯一码.平台(已选内容), RemindStatus = 是否提醒, status = MMPU.获取livelist平台和唯一码.状态(已选内容) == "●直播中" ? true : false, VideoStatus = 是否录制, OfficialName = MMPU.获取livelist平台和唯一码.原名(已选内容), LiveStatus = MMPU.获取livelist平台和唯一码.状态(已选内容) == "●直播中" ? true : false }); } } else { RB.data.Add(new RoomCadr() { LiveStatus = 房间主表[i].直播状态, Name = 房间主表[i].称, OfficialName = 房间主表[i].原名, RoomNumber = 房间主表[i].唯一码, VideoStatus = 房间主表[i].是否录制, Types = 房间主表[i].平台, RemindStatus = 房间主表[i].是否提醒, status = false }); if (RoomInit.根据唯一码获取直播状态(房间主表[i].唯一码)) { RB.data[RB.data.Count() - 1].LiveStatus = true; } } } string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); InitializeRoomList(); //更新房间列表(平台.SelectedItem.ToString(), 唯一码.Text,2); //System.Windows.MessageBox.Show("修改成功"); }
private void Button_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(称.Text) || string.IsNullOrEmpty(唯一码.Text)) { 提示.Content = "名称或唯一码不能为空!"; } else { int roomId = 0; try { roomId = int.Parse(唯一码.Text); string roomDD = bilibili.根据房间号获取房间信息.获取真实房间号(roomId.ToString()); if (!string.IsNullOrEmpty(roomDD)) { roomId = int.Parse(roomDD); } } catch (Exception) { MessageBox.Show("输入的直播间房间号不符合房间号规则(数字)"); return; } RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox { data = new List <RoomCadr>() }; if (rlc.data != null) { foreach (var item in rlc.data) { if (item.RoomNumber == 唯一码.Text) { 提示.Content = "配置文件中已有改房间号存在!"; return; } RB.data.Add(item); } } long UID = 0; if (DataCache.读缓存(DataCache.缓存头.通过房间号获取UID + roomId, 0, out string GETUID)) { try { UID = long.Parse(GETUID); } catch (Exception) {} } if (UID < 1) { try { UID = long.Parse(bilibili.根据房间号获取房间信息.通过房间号获取UID(roomId.ToString())); } catch (Exception) {} } RB.data.Add(new RoomCadr() { Name = 称.Text, OfficialName = 称.Text, RoomNumber = roomId.ToString(), UID = UID }); string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); 提示.Content = 称.Text + "[" + 唯一码.Text + "]添加完成"; bilibili.已连接的直播间状态.Add(new 直播间状态() { 房间号 = roomId }); bilibili.RoomList.Add(new RoomInfo { 房间号 = roomId.ToString(), 标题 = "", 是否录制弹幕 = false, 是否录制视频 = false, UID = UID.ToString(), 直播开始时间 = "", 称 = 称.Text, 直播状态 = false, 原名 = 称.Text, 是否提醒 = false, 平台 = "bilibili" }); 称.Text = ""; 唯一码.Text = ""; } }
private void 导入VTBVUP(Action <int, int> callback) { NewThreadTask.Run(runOnLocalThread => { runOnLocalThread(() => 导入VTBVUP提示文本.Text = "正在加载房间列表数据,该过程耗时较长,请耐心等待……"); MMPU.加载网络房间方法.更新网络房间缓存(); MMPU.加载网络房间方法.是否正在缓存 = true; while (MMPU.加载网络房间方法.是否正在缓存) { Thread.Sleep(500); } runOnLocalThread(() => 导入VTBVUP提示文本.Text = "正在导入关注列表里符合的VTB/VUP数据,请稍候……"); int 增加的数量 = 0; int 已经存在的数量 = 0; RoomInit.RoomConfigFile = MMPU.读取exe默认配置文件("RoomConfiguration", "./RoomListConfig.json"); RoomInit.InitializeRoomConfigFile(); RoomInit.InitializeRoomList(0, false, false); RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox { data = new List <RoomCadr>() }; if (rlc.data != null) { foreach (var item in rlc.data) { RB.data.Add(item); } } List <MMPU.加载网络房间方法.中的网络房间> 符合条件的房间 = new List <MMPU.加载网络房间方法.中的网络房间>(); JObject BB = bilibili.根据UID获取关注列表(MMPU.UID); foreach (var 账号关注数据 in BB["data"]) { foreach (var 网络房间数据 in MMPU.加载网络房间方法.列表缓存1) { if (账号关注数据["UID"].ToString() == 网络房间数据.UID) { 符合条件的房间.Add(new MMPU.加载网络房间方法.中的网络房间() { UID = 网络房间数据.UID, 称 = 网络房间数据.称, 官方名称 = 网络房间数据.官方名称, 平台 = 网络房间数据.平台, 房间号 = null, 编号 = 0 }); break; } } } foreach (var 符合条件的 in 符合条件的房间) { if (!string.IsNullOrEmpty(符合条件的.UID)) { string 房间号 = bilibili.通过UID获取房间号(符合条件的.UID); 符合条件的.房间号 = 房间号; bool 是否已经存在 = false; foreach (var item in bilibili.RoomList) { if (item.房间号 == 房间号) { 是否已经存在 = true; break; } } if (!是否已经存在 && !string.IsNullOrEmpty(房间号.Trim('0'))) { 增加的数量++; RB.data.Add(new RoomCadr { Name = 符合条件的.称, RoomNumber = 符合条件的.房间号, Types = 符合条件的.平台, RemindStatus = false, status = false, VideoStatus = false, OfficialName = 符合条件的.官方名称, LiveStatus = false }); } else { 已经存在的数量++; } } Thread.Sleep(100); } string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); InitializeRoomList(0, false, false); _已导入 = true; runOnLocalThread(() => { callback(增加的数量, 已经存在的数量); }); }, this); }
public static void 导入VTBVUP(Action <string> callback, System.Windows.Window W, bool 是否初始化) { NewThreadTask.Run(runOnLocalThread => { try { if (string.IsNullOrEmpty(MMPU.Cookie)) { callback("未登录,请先登录"); return; } MMPU.加载网络房间方法.更新网络房间缓存(); MMPU.加载网络房间方法.是否正在缓存 = true; while (MMPU.加载网络房间方法.是否正在缓存) { Thread.Sleep(500); } if (是否初始化) { RoomInit.RoomConfigFile = MMPU.读取exe默认配置文件("RoomConfiguration", "./RoomListConfig.json"); RoomInit.InitializeRoomConfigFile(); RoomInit.InitializeRoomList(0, false, false); } int 增加的数量 = 0; int 已经存在的数量 = 0; RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox { data = new List <RoomCadr>() }; if (rlc.data != null) { foreach (var item in rlc.data) { RB.data.Add(item); } } List <MMPU.加载网络房间方法.中的网络房间> 符合条件的房间 = new List <MMPU.加载网络房间方法.中的网络房间>(); JObject BB = bilibili.根据UID获取关注列表(MMPU.UID); foreach (var 账号关注数据 in BB["data"]) { foreach (var 网络房间数据 in MMPU.加载网络房间方法.列表缓存1) { if (账号关注数据["UID"].ToString() == 网络房间数据.UID) { 符合条件的房间.Add(new MMPU.加载网络房间方法.中的网络房间() { UID = 网络房间数据.UID, 称 = 网络房间数据.称, 官方名称 = 网络房间数据.官方名称, 平台 = 网络房间数据.平台, 房间号 = 网络房间数据.roomId, 编号 = 0 }); break; } } } foreach (var 符合条件的 in 符合条件的房间) { bool BF = false; if (!string.IsNullOrEmpty(符合条件的.UID)) { string 房间号 = string.Empty; if (string.IsNullOrEmpty(符合条件的.房间号)) { BF = true; 房间号 = bilibili.通过UID获取房间号(符合条件的.UID); 符合条件的.房间号 = 房间号; } else { 房间号 = 符合条件的.房间号; } bool 是否已经存在 = false; foreach (var item in bilibili.RoomList) { if (item.房间号 == 房间号) { 是否已经存在 = true; break; } } if (!是否已经存在 && !string.IsNullOrEmpty(房间号.Trim('0'))) { 增加的数量++; long UIDD = 0; try { UIDD = long.Parse(符合条件的.UID); } catch (Exception) {} RB.data.Add(new RoomCadr { Name = 符合条件的.称, RoomNumber = 符合条件的.房间号, Types = 符合条件的.平台, RemindStatus = false, status = false, VideoStatus = false, OfficialName = 符合条件的.官方名称, LiveStatus = false, UID = UIDD }); } else { 已经存在的数量++; } } if (BF) { Thread.Sleep(200); } } string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); InitializeRoomList(0, false, false); runOnLocalThread(() => { callback("导入成功!原有:" + 已经存在的数量 + "个,新增VTB/VUP数:" + 增加的数量); }); } catch (Exception E) { ; } }, W); }
/// <summary> /// 初始化房间列表 /// </summary> public static void InitializeRoomList() { InfoLog.InfoPrintf("开始刷新本地房间列表", InfoLog.InfoClass.Debug); var rlc = new RoomBox(); try { rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); } catch (Exception) { rlc = JsonConvert.DeserializeObject <RoomBox>("{}"); InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息); InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息); InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息); return; } List <RoomCadr> RoomConfigList = new List <RoomCadr>();//房间信息1List RoomConfigList = rlc?.data; if (RoomConfigList == null) { RoomConfigList = new List <RoomCadr>(); } bilibili.RoomList.Clear(); youtube.RoomList.Clear(); if (初始化储存房间储存一次) { string JOO = JsonConvert.SerializeObject(rlc); MMPU.储存文本(JOO, RoomConfigFile); 初始化储存房间储存一次 = false; } foreach (var item in RoomConfigList) { if (item.Types == "bilibili") { bilibili.RoomList.Add(new RoomInfo { 房间号 = item.RoomNumber, 标题 = "", 是否录制弹幕 = item.VideoStatus, 是否录制视频 = item.VideoStatus, UID = "", 直播开始时间 = "", 称 = item.Name, 直播状态 = item.LiveStatus, 原名 = item.OfficialName, 是否提醒 = item.RemindStatus, 平台 = "bilibili" }); if (首次启动) { bilibili.RoomList[bilibili.RoomList.Count - 1].直播状态 = false; } } else if (item.Types == "youtube") { youtube.RoomList.Add(new RoomInfo { 房间号 = item.RoomNumber, 标题 = "", 是否录制弹幕 = item.VideoStatus, 是否录制视频 = item.VideoStatus, UID = "", 直播开始时间 = "", 称 = item.Name, 直播状态 = item.LiveStatus, 原名 = item.OfficialName, 是否提醒 = item.RemindStatus, 平台 = "youtube" }); if (首次启动) { youtube.RoomList[youtube.RoomList.Count - 1].直播状态 = false; } } } if (首次启动) { InfoLog.InfoPrintf("监控列表中有" + (bilibili.RoomList.Count() + youtube.RoomList.Count()) + "个单推对象,开始监控", InfoLog.InfoClass.载必要提示); } 首次启动 = false; InfoLog.InfoPrintf("刷新本地房间列表完成", InfoLog.InfoClass.Debug); }