
#ifndef TZONE_H_INCLUDED
#define TZONE_H_INCLUDED

/*
OBJET       classe d'un carré de terrain / une zone de la carte

DATE        04/2025

AUTEUR      philippe Thebaud

COMMENTAIRE
*/

#include <GL/glew.h>
#include <string>
//#include <fstream>
#include <vector>
//#include <deque>

#include "../ECO/OUtils.h"
#include "../ECO/OTexturelist.h"
#include "../ECO/OMesh_obj.h"

#include "../ECO/defered/ODshMask.h"

#include "common.h"


class Tzone
{
public:
	Tzone();
	~Tzone();

	void        create(std::string flux);

	void        draw(ODshMask& dshMask);

    void        make_grass(std::string flux);

private:

    void        _composition();

	void		_setModel();

private:

    // les textures, et leur ordre, est propre à chaque partie de carte
    OTextureList                textureList;
    std::vector<uint32_t>       m_texture;
    std::vector<std::string>    m_str_texture;

    std::string m_file;
    OVec3_f     m_pos;
    float       m_scale;
	OMat4       m_model;
	OMesh_obj   mesh;
	//
    float       m_ratio;

};

#endif
