public void Write(Writer writer) { writer.Write((byte)SpriteSheets.Count); for (int i = 0; i < SpriteSheets.Count; ++i) { writer.WriteRSDKString(SpriteSheets[i]); } writer.Write((byte)Animations.Count); for (int i = 0; i < Animations.Count; ++i) { Animations[i].Write(writer); } writer.Write((byte)CollisionBoxes.Count); for (int i = 0; i < CollisionBoxes.Count; ++i) { CollisionBoxes[i].Write(writer); } writer.Close(); }
public void WriteAsSTLBinary(Writer writer) { byte[] junk = Encoding.ASCII.GetBytes("Kimi no sei kimi no sei kimi no sei de watashi Oh Okubyou de kakkou tsukanai kimi no sei da yo"); writer.Write(junk, 0, 0x50); writer.Write((int)(FaceCount / FaceVerticiesCount)); // Triangle var vertices = new Vertex[FaceVerticiesCount]; for (int v = 0; v < FaceCount; v++) { vertices[0] = Vertices[Faces[v].a]; vertices[1] = Vertices[Faces[v].b]; vertices[2] = Vertices[Faces[v].c]; // Normal writer.Write(vertices[0].normal.x); writer.Write(vertices[0].normal.y); writer.Write(vertices[0].normal.z); // Vector 1 writer.Write(vertices[0].x); writer.Write(vertices[0].z); writer.Write(vertices[0].y); // Vector 2 writer.Write(vertices[1].x); writer.Write(vertices[1].z); writer.Write(vertices[1].y); // Vector 3 writer.Write(vertices[2].x); writer.Write(vertices[2].z); writer.Write(vertices[2].y); // Attribute writer.Write((short)0); } writer.Close(); }