UILabel.ApplyOffset C# (CSharp) Méthode

ApplyOffset() protected méthode

Align the vertices, making the label positioned correctly based on the pivot. Returns the offset that was applied.
protected ApplyOffset ( BetterList verts, int start ) : Vector2
verts BetterList
start int
Résultat Vector2
	protected Vector2 ApplyOffset (BetterList<Vector3> verts, int start)
	{
		Vector2 po = pivotOffset;

		float fx = Mathf.Lerp(0f, -mWidth, po.x);
		float fy = Mathf.Lerp(mHeight, 0f, po.y) + Mathf.Lerp((mCalculatedSize.y - mHeight), 0f, po.y);

		fx = Mathf.Round(fx);
		fy = Mathf.Round(fy);

#if UNITY_FLASH
		for (int i = start; i < verts.size; ++i)
		{
			Vector3 buff = verts.buffer[i];
			buff.x += fx;
			buff.y += fy;
			verts.buffer[i] = buff;
		}
#else
		for (int i = start; i < verts.size; ++i)
		{
			verts.buffer[i].x += fx;
			verts.buffer[i].y += fy;
		}
#endif
		return new Vector2(fx, fy);
	}

Usage Example

Exemple #1
0
    private static float computeFloat(UILabel label)
    {
        float  result = 0, preData = 0;
        string text = label.processedText;

        if (string.IsNullOrEmpty(text))
        {
            return(result);
        }
        label.UpdateNGUIText();
        NGUIText.PrintCharacterPositions(text, UILabel.mTempVerts, UILabel.mTempIndices);
        if (UILabel.mTempVerts.size > 0)
        {
            label.ApplyOffset(UILabel.mTempVerts, 0);
            for (int i = 0; i < UILabel.mTempIndices.size; i += 2)
            {
                float x = UILabel.mTempVerts[i].x;
                if (x > preData)
                {
                    result += x - preData;
                }
                else
                {
                    result += label.fontSize;
                }
                preData = x;
            }
            UILabel.mTempVerts.Clear();
            UILabel.mTempIndices.Clear();
        }
        NGUIText.bitmapFont  = null;
        NGUIText.dynamicFont = null;
        return(result);
    }
All Usage Examples Of UILabel::ApplyOffset