#ifndef LAYER_H_
#define LAYER_H_
#include <afx.h>
#include <MLR\MLR.hpp>
#include <MLR\MLRHeaders.hpp>
#include"ImageLib\image.h"


class Layer
{
private:
protected:
	bool Loaded;
public:
	void SetState();
	
	Image							 Img;
	CString							 Name;
	MidLevelRenderer::MLRTexture	*Texture;
	MidLevelRenderer::MLRState		 State;

	bool IsLoaded() {return Loaded;}
	Layer() {Loaded=false; Texture=NULL;}
	virtual void Import(const char *tname)=0;
	virtual void Import(Image &img)=0;
	Layer &operator=(Layer &lay);
};



class HeightFieldLayer:public Layer
{
private:
protected:
public:
	
	virtual void Import(const char *tname);
	virtual void Import(Image &img);
	
};

class TextureLayer:public Layer
{
private:
protected:
public:
	void LoadTexture(const char *tname);
	virtual void Import(const char *tname);
	virtual void Import(Image &img);
	
};




#endif