예제 #1
0
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);
		
	}
}
예제 #2
0
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);
	}
}