public void ApplyShadow (BetterList<Vector3> verts, BetterList<Vector2> uvs, BetterList<Color32> cols, int start, int end, float x, float y)
{
Color c = mEffectColor;
c.a *= finalAlpha;
if (bitmapFont != null && bitmapFont.premultipliedAlphaShader) c = NGUITools.ApplyPMA(c);
if (QualitySettings.activeColorSpace == ColorSpace.Linear)
{
c.r = Mathf.GammaToLinearSpace(c.r);
c.g = Mathf.GammaToLinearSpace(c.g);
c.b = Mathf.GammaToLinearSpace(c.b);
c.a = Mathf.GammaToLinearSpace(c.a);
}
Color32 col = c;
for (int i = start; i < end; ++i)
{
verts.Add(verts.buffer[i]);
uvs.Add(uvs.buffer[i]);
cols.Add(cols.buffer[i]);
Vector3 v = verts.buffer[i];
v.x += x;
v.y += y;
verts.buffer[i] = v;
Color32 uc = cols.buffer[i];
if (uc.a == 255)
{
cols.buffer[i] = col;
}
else
{
Color fc = c;
fc.a = (uc.a / 255f * c.a);
if (QualitySettings.activeColorSpace == ColorSpace.Linear) fc.a = Mathf.GammaToLinearSpace(fc.a);
cols.buffer[i] = fc;
}
}
}