SkeletonHandler ResourceManager::GetSkeletonFromFile(std::string fileName,std::string resID) { unsigned int id = hasher(resID); if(pool->SkeletonExist(id)) { return SkeletonHandler(pool->GetSkeleton(id),id,pool); } else { SkeletonPtr data = AssetLoader::GetPtr()->LoadSkeleton(fileName); if(data.IsNull()) return SkeletonHandler(false); pool->AddSkeleton(id,data); return SkeletonHandler(data,id,pool); } }
SkeletonHandler ResourceManager::GetSkeletonFromMemory(SkeletonPtr skeleton,std::string resID) { unsigned int id = hasher(resID); if(pool->SkeletonExist(id)) { return SkeletonHandler(pool->GetSkeleton(id),id,pool); } else { if(skeleton.IsNull()) return SkeletonHandler(false); SkeletonPtr res = skeleton.Get()->Copy(); pool->AddSkeleton(id,res); return SkeletonHandler(res,id,pool); } }