#pragma once

#ifndef __model_h__
	#define __model_h__

#include "foundation.h"
#include "graphicsresource.h"
#include "mesh.h"
#include "material.h"

namespace Gx
{
	// prymitywna klasa modelu - troche przypomina siatke, jednak tutaj mamy wiele materialow
	class GX_API Model : public GraphicsResource
	{
	public:
		struct ModelPart
		{
			int firstIndex;
			int indexCount;
			Gx::Material material;
		};

		typedef std::vector<ModelPart> ModelPartCollection;

		// TODO: usun te metody, dodane na szybko zeby cos sprawdzic
		Mesh* getMesh() {
			return m_mesh;
		}

	public:
		Model();

		Gx::Mesh* m_mesh;
		ModelPartCollection m_parts;
	};
}

#endif /* __model_h__ */