예제 #1
0
    void Test01()
    {
        ION root = new Dictionary <string, ION>
        {
            { "name", "orz" },
            { "type", "ION" },
            { "size", 5 },
            { "append",
              new Dictionary <string, ION>
              {
                  { "a", (short)10 },
                  { "b", (long)5 },
                  { "c", (byte)12 },
                  { "d", 0 },
                  { "sum", (int)27 }
              } },
            { "height",
              new List <ION>
              {
                  3.2f,
                  4.3,
                  4.5,
              } }
        };

        Debug.Log(root);
        MemoryStream memoryStream = new MemoryStream();

        root.Write(memoryStream);
        Debug.Log(memoryStream.ToArray().Length);
        memoryStream.Seek(0, SeekOrigin.Begin);
        root = ION.Read(memoryStream);
        Debug.Log(root);
    }
예제 #2
0
파일: ION.cs 프로젝트: ty359/ilmenite
    internal override void ReadContent(Stream stream)
    {
        byte[] buffer = new byte[4];
        stream.Read(buffer, 0, 4);
        int count = System.BitConverter.ToInt32(buffer, 0);

        data = new List <ION>();
        for (int i = 0; i < count; ++i)
        {
            data.Add(ION.Read(stream));
        }
    }
예제 #3
0
파일: ION.cs 프로젝트: ty359/ilmenite
 internal override void ReadContent(Stream stream)
 {
     data = new Dictionary <string, ION>();
     while (true)
     {
         byte[] buffer = new byte[2];
         stream.Read(buffer, 0, 2);
         short count = System.BitConverter.ToInt16(buffer, 0);
         if (count == 0)
         {
             break;
         }
         buffer = new byte[count];
         stream.Read(buffer, 0, count);
         string key   = System.Text.Encoding.UTF8.GetString(buffer);
         ION    value = ION.Read(stream);
         data.Add(key, value);
     }
 }