//
// Asura_Chunk_PhysicsEnvironment.h
//
// Created by KJFL - 07 September 2004
//
// Copyright (C) 2004 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __ASURA_CHUNK_PHYSICSENVIRONMENT_H__
#define __ASURA_CHUNK_PHYSICSENVIRONMENT_H__

#include "ChunkSystem/Asura_Chunk_Loaders.h"
#include "Core/Asura_Handle.h"

// F O R W A R D   D E C L A R A T I O N S ///////////////////////////////////

class Asura_SaveBlock;

// C L A S S E S /////////////////////////////////////////////////////////////

class Asura_Chunk_PhysicsEnvironment : public Asura_Chunk_Header
{
	friend class Asura_Physics_Zone;

	public:
        
		bool Process( Asura_Handle hFile ) const;

#if defined(ASURA_TOOLS)
		static bool Create( Asura_SaveBlock& xSaveBlock,const int* piMaterialIDToIndexConversion );
		static bool Create( Asura_Chunk_Stream& xStream,const int* piMaterialIDToIndexConversion );
#endif	// defined(ASURA_TOOLS)

	private:

		enum { CHUNK_VERSION = 6 };

		enum ChunkFlags
		{
			ChunkFlag_HasMaterialResponseHashIDs = 1,
		};

		u_int m_uNumberOfSectors;	
		u_int m_uNumberOfVertices;
		u_int m_uNumberOfFaces;
		u_int m_uNumberOfPolyFlags;
		u_int m_uNumberOfMaterialIDs;
		u_int m_uNumberOfDoubleNodes;

};



#endif//__ASURA_CHUNK_PHYSICSENVIRONMENT_H__
