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); }
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); }