Texture2D src_tex2d = Instantiate(sourceTex) as Texture2D;//(sourceAtlas.texture as Texture2D);
Color32[] srcTexture = src_tex2d.GetPixels32();
for (int i=0; i<spriteList.Count; i++) {
UISpriteData data = spriteList[i];;
Color32
[] newPixels
= new Color32
[data
.width * data
.height];
for (int y = 0; y < data.height; ++y)
{
for (int x = 0; x < data.width; ++x)
{
int newIndex = y * data.width + x;
int oldIndex = (data.y + y) * src_tex2d.width + (data.x + x);
newPixels[newIndex] = srcTexture[oldIndex];
}
}
spriteTextures
[i
] = new Texture2D
(data
.width, data
.height); spriteTextures[i].SetPixels32(newPixels);
spriteTextures[i].Apply();
}