rendered paste body public virtual void CreatePrecachedParts()
{
if (m_precachedParts != null)
m_precachedParts.Clear();
else
m_precachedParts = new List<PrecachedPart>(30);
int sw = (m_texture.Width / 6);
int sh = (m_texture.Height / 2);
m_precachedParts.Add(new PrecachedPart(new Rectangle(m_size.X, m_size.Y, m_size.Width, m_size.Height), new Rectangle((m_texture.Width / 3) * 2, 0, (m_texture.Width / 3), (m_texture.Height))));
for (int x = 1; x * sw <= (m_size.Width - sw); x += 1)
{
int wx = sw;
if (x * sw > (m_size.Width - sw * 2))
wx = m_size.Width % sw;
m_precachedParts.Add(new PrecachedPart(new Rectangle(X + x * sw, Y + 0, wx, sh), new Rectangle(sw * 3, 0, wx, sh)));
m_precachedParts.Add(new PrecachedPart(new Rectangle(X + x * sw, Y + m_size.Height - sh, wx, sh), new Rectangle(sw * 3, sh, wx, sh)));
}
for (int y = 1; y * sh <= (m_size.Height - sh); y += 1)
{
int wy = sh;
if (y * sh > (m_size.Height - sh * 2))
wy = m_size.Height % sh;
m_precachedParts.Add(new PrecachedPart(new Rectangle(X + 0, Y + y * sh, sw, wy), new Rectangle(sw * 2, 0, sw, wy)));
m_precachedParts.Add(new PrecachedPart(new Rectangle(X + m_size.Width - sw, Y + y * sh, sw, wy), new Rectangle(sw * 2, sh, sw, wy)));
}
m_precachedParts.Add(new PrecachedPart(new Rectangle(X + 0, Y + 0, sw, sh), new Rectangle(0, 0, sw, sh)));
m_precachedParts.Add(new PrecachedPart(new Rectangle(X + 0, Y + m_size.Height - sh, sw, sh), new Rectangle(0, sh, sw, sh)));
m_precachedParts.Add(new PrecachedPart(new Rectangle(X + m_size.Width - sw, Y + 0, sw, sh), new Rectangle(sw, 0, sw, sh)));
m_precachedParts.Add(new PrecachedPart(new Rectangle(X + m_size.Width - sw, Y + m_size.Height - sh, sw, sh), new Rectangle(sw, sh, sw, sh)));
}