void Ground::addRessource(e_object type, gdl::Model* model) { float x = this->_position.x; float y = this->_position.y; float z = this->_position.z; AObject* res; switch (type) { case LINEMATE: _ressources.push_back(new Linemate(*model)); res = _ressources.back(); res->translate(glm::vec3(x + static_cast<ARessource*>(res)->getPaddingX(), y + 1, z + static_cast<ARessource*>(res)->getPaddingY())); res->scale(glm::vec3(0.1f, 0.1f, 0.1f)); res->rotate(glm::vec3(0,1,0), 180); break ; case DERAUMERE: _ressources.push_back(new Deraumere(*model)); res = _ressources.back(); res->translate(glm::vec3(x + static_cast<ARessource*>(res)->getPaddingX(), y + 1, z + static_cast<ARessource*>(res)->getPaddingY())); res->scale(glm::vec3(0.02f, 0.02f, 0.02f)); res->rotate(glm::vec3(0,1,0), 180); break ; case SIBUR: _ressources.push_back(new Sibur(*model)); res = _ressources.back(); res->translate(glm::vec3(x + static_cast<ARessource*>(res)->getPaddingX(), y + 1, z + static_cast<ARessource*>(res)->getPaddingY())); res->scale(glm::vec3(0.1f, 0.1f, 0.1f)); res->rotate(glm::vec3(0,1,0), 180); res->translate(glm::vec3(0,0.25f,0)); break ; case MENDIANE: _ressources.push_back(new Mendiane(*model)); res = _ressources.back(); res->translate(glm::vec3(x + static_cast<ARessource*>(res)->getPaddingX(), y + 1, z + static_cast<ARessource*>(res)->getPaddingY())); res->scale(glm::vec3(0.1f, 0.1f, 0.1f)); break ; case PHIRAS: _ressources.push_back(new Phiras(*model)); res = _ressources.back(); res->translate(glm::vec3(x + static_cast<ARessource*>(res)->getPaddingX(), y + 1, z + static_cast<ARessource*>(res)->getPaddingY())); res->scale(glm::vec3(0.02f, 0.02f, 0.02f)); break ; case THYSTANE: _ressources.push_back(new Thystane(*model)); res = _ressources.back(); res->translate(glm::vec3(x + static_cast<ARessource*>(res)->getPaddingX(), y + 1, z + static_cast<ARessource*>(res)->getPaddingY())); res->scale(glm::vec3(0.1f, 0.1f, 0.1f)); break ; case FOODR: _ressources.push_back(new Food(*model)); res = _ressources.back(); res->translate(glm::vec3(x + static_cast<ARessource*>(res)->getPaddingX(), y + 1, z + static_cast<ARessource*>(res)->getPaddingY())); res->scale(glm::vec3(0.1f, 0.1f, 0.1f)); res->rotate(glm::vec3(1,0,0), 180); res->translate(glm::vec3(0,0.25f,0)); break ; default: break ; }; }