Beispiel #1
0
 public void RecycleAsset(string assetName, Object assetObject)
 {
     if (!m_RecycleAssetIndexMap.ContainsKey(assetName))
     {
         if (m_FreeIndexList.Count > 0)
         {
             var index = m_FreeIndexList[m_FreeIndexList.Count - 1];
             m_FreeIndexList.RemoveAt(m_FreeIndexList.Count - 1);
             var assetReference = s_AssetReferences.Get();
             assetReference.SetTarget(assetObject);
             assetReference.Name       = assetName;
             m_RecycleAssetList[index] = assetReference;
             m_RecycleAssetIndexMap.Add(assetName, index);
         }
         else
         {
             var assetReference = s_AssetReferences.Get();
             assetReference.SetTarget(assetObject);
             assetReference.Name = assetName;
             m_RecycleAssetList.Add(assetReference);
             m_RecycleAssetIndexMap.Add(assetName, m_RecycleAssetList.Count - 1);
         }
     }
     else
     {
         var assetReference = m_RecycleAssetList[m_RecycleAssetIndexMap[assetName]];
         if (!assetReference.IsAlive())
         {
             assetReference.Name = assetName;
             assetReference.SetTarget(assetObject);
         }
     }
 }
Beispiel #2
0
 public static AssetLoadTask GetAssetLoadTask()
 {
     return(s_AssetLoadTasks.Get());
 }
Beispiel #3
0
 public static AssetNode GetAssetNode()
 {
     return(s_AssetNodes.Get());
 }
 public static AssetBundleWrap GetAssetBundleWrap()
 {
     return(s_AssetBundleWrap.Get());
 }