#pragma once

#include <irrlicht.h>

using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace gui;

class TerrainBlockData;

class Simulation
{
	public:
		Simulation(IrrlichtDevice* device);
		~Simulation();

		void initialize();
		void update();
		void render();
		void destroy();

	private:
		IrrlichtDevice* device;
		IVideoDriver* driver;
		ISceneManager* smgr;
		IGUIEnvironment* guienv;

		TerrainBlockData* m_pTerrainBlockData;

		void addTerrainFromHeighMapTexture();
		void addCubeLikeTerrain();
};

