void RResource::setProperties(RPropertyMap const & attr, std::string const & name) { if (name.compare("resource") == 0) { } else if (name.compare("shape") == 0) { if (attr.has("id")) { int id = attr.getInt("id"); RShape * s = RShapeItem::fromProperty(attr); if (s) { if (attr.getInt("buffer")) { s->createBuffer(); } if (!mShapes.insert(std::make_pair(id, s)).second) { rLogW() << "insertion of " << name << "(" << id << ") failed" << std::endl; } } } } else if(name.compare("texture") == 0) { if (attr.has("id")) { int id = attr.getInt("id"); RTexture t = RTextureItem::fromProperty(attr); if (!mTextures.insert(std::make_pair(id, t)).second) { rLogW() << "insertion of " << name << "(" << id << ") failed" << std::endl; } } } else { RResourceItem * item = getItem(name); if (item) { item->setProperties(attr, name); } else { rLogW() << "Resource " << name << " not found" << std::endl; } } }