// Constructor public WorldVertex(FlatVertex v, float z) { this.x = v.x; this.y = v.y; this.z = z; this.c = v.c; this.u = v.u; this.v = v.v; }
// This sets up vertices for a specific character // also advances vertsoffset and textx public void SetupVertices(DataStream stream, byte c, float scale, int color, ref float textx, float texty, float textheight, float offsetv) { FlatVertex vert = new FlatVertex(); FontCharacter cinfo; float cwidth; // Get the character information cinfo = characters[c]; cwidth = cinfo.width * scale; // Create lefttop vertex vert.c = color; vert.u = cinfo.u1; vert.v = cinfo.v1 * 0.5f + offsetv; vert.x = textx; vert.y = texty; stream.Write <FlatVertex>(vert); // Create leftbottom vertex vert.c = color; vert.u = cinfo.u1; vert.v = cinfo.v2 * 0.5f + offsetv; vert.x = textx; vert.y = texty + textheight; stream.Write <FlatVertex>(vert); // Create righttop vertex vert.c = color; vert.u = cinfo.u2; vert.v = cinfo.v1 * 0.5f + offsetv; vert.x = textx + cwidth; vert.y = texty; stream.Write <FlatVertex>(vert); // Create leftbottom vertex vert.c = color; vert.u = cinfo.u1; vert.v = cinfo.v2 * 0.5f + offsetv; vert.x = textx; vert.y = texty + textheight; stream.Write <FlatVertex>(vert); // Create righttop vertex vert.c = color; vert.u = cinfo.u2; vert.v = cinfo.v1 * 0.5f + offsetv; vert.x = textx + cwidth; vert.y = texty; stream.Write <FlatVertex>(vert); // Create rightbottom vertex vert.c = color; vert.u = cinfo.u2; vert.v = cinfo.v2 * 0.5f + offsetv; vert.x = textx + cwidth; vert.y = texty + textheight; stream.Write <FlatVertex>(vert); textx += (cwidth + (ADJUST_SPACING * scale)); }