コード例 #1
0
        /// <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());
        }
コード例 #2
0
        /// <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();
        }