public override void ForceUpdate ()
{
base.ForceUpdate();
if (mFG != null && thumb != null)
{
Vector3[] corners = mFG.worldCorners;
if (isHorizontal)
{
if (mSprite != null && mSprite.type == UISprite.Type.Filled)
{
Vector3 v0 = Vector3.Lerp(corners[0], corners[1], 0.5f);
Vector3 v1 = Vector3.Lerp(corners[2], corners[3], 0.5f);
thumb.position = Vector3.Lerp(v0, v1, isInverted ? 1f - value : value);
}
else
{
thumb.position = isInverted ?
Vector3.Lerp(corners[0], corners[1], 0.5f) :
Vector3.Lerp(corners[2], corners[3], 0.5f);
}
}
else
{
if (mSprite != null && mSprite.type == UISprite.Type.Filled)
{
Vector3 v0 = Vector3.Lerp(corners[0], corners[3], 0.5f);
Vector3 v1 = Vector3.Lerp(corners[1], corners[2], 0.5f);
thumb.position = Vector3.Lerp(v0, v1, isInverted ? 1f - value : value);
}
else
{
thumb.position = isInverted ?
Vector3.Lerp(corners[0], corners[3], 0.5f) :
Vector3.Lerp(corners[1], corners[2], 0.5f);
}
}
}
}