示例#1
0
            public static new Primitives ReadFrom(BinaryReader reader)
            {
                var result = new Primitives();

                result.Vertices = new ColoredVertex[reader.ReadInt32()];
                for (int i = 0; i < result.Vertices.Length; i++)
                {
                    result.Vertices[i] = ColoredVertex.ReadFrom(reader);
                }

                switch (reader.ReadInt32())
                {
                case 0:
                    result.PrimitiveType = PrimitiveType.Lines;
                    break;

                case 1:
                    result.PrimitiveType = PrimitiveType.Triangles;
                    break;

                default:
                    throw new Exception("Unexpected tag value");
                }

                return(result);
            }
示例#2
0
            public static new PlacedText ReadFrom(BinaryReader reader)
            {
                var result = new PlacedText();

                result.Vertex    = ColoredVertex.ReadFrom(reader);
                result.Text      = Encoding.UTF8.GetString(reader.ReadBytes(reader.ReadInt32()));
                result.Alignment = reader.ReadSingle();
                result.Size      = reader.ReadSingle();
                return(result);
            }