Hi,
excuse me for my english.
I try to create a webgl with many Materials in it, so i need to download all the textures from the server.
Now I have a problem with IEnumerator, as soon the first yield is in the Line of script, IEnumerator skips the whole remaining function.
(the least function is, how i fixed it, but i know that’s bad Fix)
Can someone Help me please to Fix it?
bool MaterialCreated = false;
Material[] Material;
//Material
public Material[] getMaterial()
{
if(!MaterialCreated)
{
MaterialCreated = true;
Material = new Material[1];
Material[0] = Instantiate(Resources.Load("Material/Standard") as Material);
StartCoroutine_Auto(downloadTex(TexturLink));
}
return Material;
}
//CreateMaterial if chosen
private IEnumerator downloadTex(string urlstring)
{
WWW www = new WWW(urlstring);
yield return www;
if (string.IsNullOrEmpty(www.error))
{
Debug.Log("FAIL: " + urlstring);
}
else
{
Material[0].mainTexture = new Texture2D(1024, 1024, TextureFormat.RGB24, false, true);
www.LoadImageIntoTexture((Texture2D)Material[0].mainTexture);
Debug.Log("OK");
}
}
// It works like this, so I know that URL is working so far
private IEnumerator downloadTex(string urlstring)
{
WWW www = new WWW(urlstring);
while (www.progress < 1)
Debug.Log(www.progress);
Material[0].mainTexture = new Texture2D(1024, 1024, TextureFormat.RGB24, false, true);
www.LoadImageIntoTexture((Texture2D)Material[0].mainTexture);
Debug.Log("OK");
yield return www;
}