1 #include "DungeonBuilder.h"
2 #include "mof/SoftVertexBufferImpl.h"
3 #include "mof/HardVertexBufferImpl.h"
6 et::DungeonBuilder::DungeonBuilder(mof::PixelMap& map , mof::TextureManager* pTextureManager , float scale)
7 : MapBuilder(pTextureManager , scale , map.getWidth() , map.getHeight() ) , m_map(map)
9 m_blockWidth = map.getWidth();
10 m_blockHeight = map.getHeight();
13 et::DungeonBuilder::~DungeonBuilder(void)
17 void et::DungeonBuilder::setBlockSize(int width , int height){
19 m_blockHeight = height;
24 et::DungeonBuffer* et::DungeonBuilder::createBlock(int _x , int _y){
26 int beginX = _x * m_blockWidth;
27 int endX = (_x+1) * m_blockWidth;
28 if(endX > m_map.getWidth())endX = m_map.getWidth();
29 int beginY = _y * m_blockHeight;
30 int endY = (_y+1) * m_blockHeight;
31 if(endY > m_map.getHeight())endY = m_map.getHeight();
33 std::vector<et::VertexTypeDungeon> vertices;
35 for(int x = beginX ; x < endX ; x++){
36 for(int y = beginY ; y < endY ; y++){
37 addParts(vertices , x , y);
41 return new mof::SoftVertexBuffer<et::VertexTypeDungeon>(et::DungeonBuffer::PRIMITIVE_TYPE_TRIANGLELIST , vertices);