public static void SetTexture(string name, Texture texture, bool makeCopy)
{
name = name.ToLower();
lock (textures)
{
Texture t;
if (makeCopy)
{
// Copy the bastard, and change the name.
t = new Texture();
t.bitmap = texture.bitmap;
t.TexPointer = texture.TexPointer;
t.Filename = name;
if (textures.Keys.Contains(name))
{
Log.w("A texture with name '" + name + "' is already present - replacing.");
textures.Remove(name);
}
}
else
{
textures.Remove(texture.Filename);
texture.Filename = name;
t = texture;
}
if (textures.ContainsKey(name))
{
textures.Remove(name);
Log.v("Replacing texture '" + name + "' with new one. This is rarely"
+ " a good thing.");
}
textures.Add(name, t);
}
}