#include "ElementProxyHeaders.hpp"
#include <Proxies\Info.hpp>

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
void
	MLRTexturePoolProxy::GetInfo(
		GetInfoProcess *process
	)
{
	Check_Object(this);
	Check_Object(process);

	//
	//---------------------------------------
	// Make sure that the process says its OK
	//---------------------------------------
	//
	process->InfoCallback(GetInfoProcess::InfoTextureLibraryMode);
	if (!process->continueProcess)
		return;

	//
	//-------------
	// Get the info
	//-------------
	//
	MString name;
	GetName(&name);

	process->TellMyName(&name, GetInfoProcess::InfoTextureLibraryMode);
	process->TalkAboutATexLibrary(texturePath, ".tga");

	//
	//------------------------------------------------------------------
	// For each texture, get the info
	//------------------------------------------------------------------
	//
	TextureProxy *other_texture = UseFirstTextureProxy();
	while (other_texture)
	{
		Check_Object(other_texture);

		other_texture->GetInfo(process);

		TextureProxy *next = other_texture->UseNextTextureProxyInLibrary();
		other_texture->DetachReference();

		if (process->continueProcess)
			other_texture = next;
		else
		{
			if (other_texture)
				other_texture->DetachReference();
			break;
		}
	}
}
