/// <summary> /// 全コメントルームのポート情報などを取得します。 /// </summary> public CommentRoomInfo[] GetAllRoomInfo(PlayerStatus playerStatus, int communityLevel) { var result = new List <CommentRoomInfo>(); var arenaInfo = GetArenaInfo(playerStatus); // ルーム数を取得します。 var roomCount = ( communityLevel > 0 ? CommunityLevelTable.GetNumberOfSeet(communityLevel) / 500 : 1); result.Add(arenaInfo); var arenaInfoAddrNum = NicoString.GetMessageServerNumber( arenaInfo.Address); for (var i = 1; i < roomCount; ++i) { var carry = 0; var msPort = CommentServerPort(arenaInfo.Port + i, out carry); var msAddr = CommentServerAddress(arenaInfoAddrNum + carry); // 各立ち見席の情報を設定します。 var roomInfo = new CommentRoomInfo( "立ち見" + (char)((int)'A' + (i - 1)) + "列", msAddr, msPort, arenaInfo.Thread + i); result.Add(roomInfo); } return(result.ToArray()); }
/// <summary> /// 全コメントルームのポート情報などを取得します。 /// </summary> public CommentRoomInfo[] GetAllRoomInfo(PlayerStatus playerStatus, int communityLevel) { var result = new List<CommentRoomInfo>(); var arenaInfo = GetArenaInfo(playerStatus); // ルーム数を取得します。 var roomCount = ( communityLevel > 0 ? CommunityLevelTable.GetNumberOfSeet(communityLevel) / 500 : 1); result.Add(arenaInfo); var arenaInfoAddrNum = NicoString.GetMessageServerNumber( arenaInfo.Address); for (var i = 1; i < roomCount; ++i) { var carry = 0; var msPort = CommentServerPort(arenaInfo.Port + i, out carry); var msAddr = CommentServerAddress(arenaInfoAddrNum + carry); // 各立ち見席の情報を設定します。 var roomInfo = new CommentRoomInfo( "立ち見" + (char)((int)'A' + (i - 1)) + "列", msAddr, msPort, arenaInfo.Thread + i); result.Add(roomInfo); } return result.ToArray(); }