ResourcePtr ResourceManager::clone(const ResourcePtr &src) { uint32_t unCloneID = (++mCloneID); ResourcePtr res = src->clone(); if (res != nullptr) { res->mCloneID = unCloneID; auto i = mResourceCache.find(src->getName()); if (i != mResourceCache.end()) { Resources &resources = i->second; resources.insert(ResPairValue(unCloneID, res)); } else { T3D_ASSERT(0); } } return res; }