//////////////////////////////////////////////////////////////////////////////
//
// Tools_Blueprint_Export.h
//
// Created by HE - 24 April 2007
//
// Copyright (C) 2007 Rebellion, All Rights Reserved.
//
//////////////////////////////////////////////////////////////////////////////

/*****************************************************************************
 * 
 * Apologies for the file and class names not matching up. This class was 
 * originally named Tools_Blueprint_Export and only later became derived from 
 * Tools_XMLExporter. It was decided that for naming consistency the class 
 * should be called Tools_Blueprint_XMLExporter, but changing the filename 
 * would have required mass renames in all projects.		- HE - 21 May 2007
 * 
 ****************************************************************************/

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __TOOLS_BLUEPRINT_EXPORT_H__
#define __TOOLS_BLUEPRINT_EXPORT_H__

// I N C L U D E S ///////////////////////////////////////////////////////////

// asura
#include "Core/Asura_Hash.h"

// base class
#include "Misc/Tools_XMLExporter.h"

//forward declarations
class Asura_Blueprint;
class Tools_Blueprint_Edit_Object;
class Tools_ProgressIndicator;

//////////////////////////////////////////////////////////////////////////////
//
// Tools_Blueprint_XMLExporter
//
//////////////////////////////////////////////////////////////////////////////

class Tools_Blueprint_XMLExporter : public Tools_XMLExporter
{
	typedef Tools_XMLExporter PARENT;

public:
	Tools_Blueprint_XMLExporter( const bool bRaw, const char* szPath = NULL, const char* szStyleSheet = NULL );
	~Tools_Blueprint_XMLExporter();

	void StartXMLExport();

private:
	int m_iNumHashTypes;
	int m_iNumBlueprintsDone;
	bool m_bExportRaw;

	Tools_Blueprint_Edit_Object* m_pxBlueprintEO;
	Tools_ProgressIndicator* m_pxProgressBar1;
	Tools_ProgressIndicator* m_pxProgressBar2;

	void WriteBlueprintToXML( Asura_Blueprint* pxBlueprint, Asura_Hash_ID uTypeHashID );
};

//////////////////////////////////////////////////////////////////////////////
//
// 
//
//////////////////////////////////////////////////////////////////////////////

#endif//__TOOLS_BLUEPRINT_EXPORT_H__
