Ejemplo n.º 1
0
void QuadTree::draw(Core::Engine& engine){
    glm::vec4 farbe(0,0,0,0);
    if(level_ == 0){
        farbe = glm::vec4(0,0,0,1);
    }
    else if(level_ == 1){
        farbe = glm::vec4(0,0,255,1);
    }
    else if(level_ == 2){
        farbe = glm::vec4(255,0,0,1);
    }
    else if(level_ == 3){
        farbe = glm::vec4(0,255,0,1);
    }
    else if(level_ == 4){
        farbe = glm::vec4(255,255,0,1);
    }
    if(nodes_.size() > 0){
        for(int i = 0; i < nodes_.size(); ++i){
            nodes_.at(i)->draw(engine);
        }
    }
    engine.renderSystem().renderPrimitive(EL_STROKE_QUAD, glm::vec2(bounds_.x, bounds_.y), glm::vec2(bounds_.w, bounds_.h), farbe, 0);

    for(int i = 0; i < collisionBoxes_.size(); ++i){
        CollisionBox *cb = collisionBoxes_.at(i);
        Util::Struct::FloatRect bounds = cb->bounds();
        engine.renderSystem().renderPrimitive(EL_STROKE_QUAD, glm::vec2(cb->parent().parent().pos().x + bounds.x,
                                                                        cb->parent().parent().pos().y + bounds.y),
                                                    glm::vec2(bounds.w, bounds.h), farbe, 0);
    }
}