//	Darkstar Engine  (c) UnderWorld Interactive Studio (all coding by Svarog    2007-2008)
//
//      Данный файл является частью Darkstar Engine. Любое использование кода файла
//      без согласия компании, является нарушением закона об авторском праве (в слу-
//      чае если не оговорено обратное).
//
//      Имя файла: material_loader.hpp
//      Краткое описание: loader for darkstar material
//

#ifndef DSE_RS_MATERIAL_MATERIAL_LOADER_HPP
#define DSE_RS_MATERIAL_MATERIAL_LOADER_HPP

#include <Darkstar/common.hpp>
#include <Darkstar/Resource System/Material/material.hpp>
#include <Darkstar/Kernel/Misc/singleton.hpp>

namespace rs
{
	class MaterialLoader : public ker::SingletonHolder<MaterialLoader>
	{
	private:
		shared_array<float> _getFloatArrayValues(const std::string& value, const unsigned int number);
		unsigned int _getFloatArrayDimension(const std::string& type);
	public:
		MaterialLoader();
		~MaterialLoader();

		std::map<std::string, shared_ptr<Material> > load(const std::string& filename);
	};
};

#endif