Пример #1
0
    // ------------------------------------------------------------------
    // Desc:
    // ------------------------------------------------------------------

    protected override Vector3[] GetVertices(Space _space)
    {
        if (textureInfo_ == null)
        {
            return(new Vector3[0]);
        }

        exList <Vector3> vb = exList <Vector3> .GetTempList();

        UpdateBufferSize();
        vb.AddRange(vertexCount_);

        switch (spriteType_)
        {
        case exSpriteType.Simple:
            SpriteBuilder.SimpleUpdateVertexBuffer(this, textureInfo_, useTextureOffset_, _space, vb, 0);
            break;

        case exSpriteType.Sliced:
            SpriteBuilder.SimpleUpdateVertexBuffer(this, textureInfo_, useTextureOffset_, _space, vb, 0);
            SpriteBuilder.SimpleVertexBufferToSliced(this, textureInfo_, vb, 0);
            break;

        case exSpriteType.Tiled:
            SpriteBuilder.TiledUpdateVertexBuffer(this, textureInfo_, useTextureOffset_, tiledSpacing_, _space, vb, 0);
            break;

        case exSpriteType.Diced:
            SpriteBuilder.SimpleUpdateVertexBuffer(this, textureInfo_, useTextureOffset_, _space, vb, 0);
            SpriteBuilder.SimpleVertexBufferToDiced(this, textureInfo_, vb, 0);
            break;
        }

        return(vb.ToArray());
    }
Пример #2
0
    // ------------------------------------------------------------------
    // Desc:
    // ------------------------------------------------------------------

    protected override Vector3[] GetVertices(Space _space)
    {
        // TODO: only return the rotated bounding box of the sprite font
        int visibleVertexCount    = text_.Length * 4;
        exList <Vector3> vertices = exList <Vector3> .GetTempList();

        vertices.AddRange(visibleVertexCount);

        SpriteFontBuilder.BuildText(this, _space, vertices, 0);
        return(vertices.ToArray());
    }