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))); }
public void Load(IDictionaryStream stream) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } table = new Dictionary <string, NRCRecord>(StringComparer.OrdinalIgnoreCase); ReadDataFromInternalStream(stream); }
/// <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); }
/// <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); }
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); } }
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()); } } }
public static IEnumerable <(string Word, T Value)> ReadDataFromStream <T>(this IDictionaryStream streamSource, Func <string, T> coverver, char separator = '\t') { using (var reader = streamSource.ConstructReadStream())