コード例 #1
0
        public static WordsDictionary Construct(IDictionaryStream stream)
        {
            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            return(new WordsDictionary(stream.ReadDataFromStream(double.Parse).ToDictionary(item => item.Word, item => item.Value, StringComparer.OrdinalIgnoreCase)));
        }
コード例 #2
0
        public void Load(IDictionaryStream stream)
        {
            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            table = new Dictionary <string, NRCRecord>(StringComparer.OrdinalIgnoreCase);
            ReadDataFromInternalStream(stream);
        }
コード例 #3
0
        /// <summary>
        /// ログインリクエスト受信
        /// </summary>
        /// <param name="Stream">ストリーム</param>
        /// <returns>結果パケット</returns>
        private IPacket OnRecvLogInRequest(IDictionaryStream Stream)
        {
            PacketLogInRequest Request = new PacketLogInRequest();

            Request.Serialize(Stream);

            Parent.SetNextState(new GameStatePreActive(Parent));

            // 今のところ問答無用
            PacketLogInResult Result = new PacketLogInResult();

            return(Result);
        }
コード例 #4
0
        /// <summary>
        /// クライアントの準備完了を受信した
        /// </summary>
        /// <param name="Stream">ストリーム</param>
        /// <returns>レスポンスパケット</returns>
        private IPacket OnRecvClientReady(IDictionaryStream Stream)
        {
            var Request = new PacketClientReady();

            Request.Serialize(Stream);

            // とりあえずダミーデータでも投げる
            var Id       = Parent.ConnectionId;
            var Pos      = new Vec3(1.0f, 0.0f, -3.0f);
            var Response = new PacketServerReady(Id, Pos);

            Parent.SetNextState(new GameStateActive(Parent));
            return(Response);
        }
コード例 #5
0
        public WordFrequencyList(string name, IDictionaryStream stream)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException("Value cannot be null or empty.", nameof(name));
            }

            Name = name;
            var dictionary = WordsDictionary.Construct(stream);
            int index      = 0;

            foreach (var item in dictionary.RawData.OrderByDescending(item => item.Value))
            {
                index++;
                indexTable[item.Key] = new FrequencyInformation(item.Key, index, item.Value);
            }
        }
コード例 #6
0
        private void ReadDataFromInternalStream(IDictionaryStream stream)
        {
            int index = 0;

            foreach (var record in stream.ReadDataFromStream(int.Parse))
            {
                if (!table.TryGetValue(record.Item1, out var nrcRecord))
                {
                    nrcRecord           = new NRCRecord(record.Item1);
                    table[record.Item1] = nrcRecord;
                    index = 0;
                }

                index++;
                if (record.Item2 == 0)
                {
                    continue;
                }

                switch (index)
                {
                case 1:
                    nrcRecord.IsAnger = true;
                    break;

                case 2:
                    nrcRecord.IsAnticipation = true;
                    break;

                case 3:
                    nrcRecord.IsDisgust = true;
                    break;

                case 4:
                    nrcRecord.IsFear = true;
                    break;

                case 5:
                    nrcRecord.IsJoy = true;
                    break;

                case 6:
                    nrcRecord.IsNegative = true;
                    break;

                case 7:
                    nrcRecord.IsPositive = true;
                    break;

                case 8:
                    nrcRecord.IsSadness = true;
                    break;

                case 9:
                    nrcRecord.IsSurprise = true;
                    break;

                case 10:
                    nrcRecord.IsTrust = true;
                    break;

                default:
                    throw new ArgumentOutOfRangeException("index", index.ToString());
                }
            }
        }
コード例 #7
0
 public static IEnumerable <(string Word, T Value)> ReadDataFromStream <T>(this IDictionaryStream streamSource, Func <string, T> coverver, char separator = '\t')
 {
     using (var reader = streamSource.ConstructReadStream())