#ifndef _H_SHAPEMGR_
#define _H_SHAPEMGR_

#include "Common.h"
//#include "cShape.h"
//#include "AGKShader.h"

#include <list>

// Namespace
namespace AGK
{
	class cShape;
	//class AGKShader;

	class _EXPORT_ cShapeMgr
	{
	protected:
		UINT	m_iProcessedShapes = 0;
		UINT	m_iDrawnShapes = 0;

		std::list<cShape*>	m_lShapes;
		
		//UINT		m_iCurrentTexture = 0;
		//AGKShader*	m_pCurrentShader = NULL;

	public:
		cShapeMgr() {};
		~cShapeMgr() { ClearShapes(); };

		void ClearShapes();

		void AddShape(cShape* shape);
		void RemoveShape(cShape* shape);

		void Update(float time);
		void Draw();
	};

}

#endif	//	_H_SHAPEMGR_
