public void LoadAssetReferences(List <string> assetReferences, ECgLoadAsyncOrder asyncOrder, FOnFinishedLoadingAssetReferences.Event e) { // Add Callback OnFinishedLoadingAssetReferences_Events.Add(new FOnFinishedLoadingAssetReferences()); int count = OnFinishedLoadingAssetReferences_Events.Capacity; OnFinishedLoadingAssetReferences_Events[count - 1].Add(e); AsyncOrders.Add(asyncOrder); AssetReferencesQueue.Add(new List <string>()); count = AssetReferencesQueue.Capacity; int size = assetReferences.Capacity; for (int i = 0; i < size; ++i) { AssetReferencesQueue[count - 1].Add(assetReferences[i]); } // If the FIRST batch of AssetReferences, queue loading immediately if (AssetReferencesQueue.Capacity == 1) { LoadAssetReferences_Internal(AssetReferencesQueue[count - 1], asyncOrder); } }
public void LoadAssetReferences_Internal(List <string> assetReferences, ECgLoadAsyncOrder asyncOrder) { AssetReferencesLoadedCount = 0; ResourceSizeLoaded.Reset(); // Start Loading - Load All References int size = assetReferences.Capacity; OnStartLoadingAssetReferences_Event.Broadcast(size); OnStartLoadProgress_Event.Broadcast(size); if (LogLoading.Log()) { FCgDebug.Log("FCgManager_Loading.LoadAssetReferences_Internal: Requesting Load of " + size + " Assets"); // None | Bulk if (asyncOrder == ECgLoadAsyncOrder.None || asyncOrder == ECgLoadAsyncOrder.Bulk) { for (int i = 0; i < size; ++i) { FCgDebug.Log("FCsManager_Loading.LoadAssetReferences_Internal: Requesting Load of " + assetReferences[i]); } } } // Start the Async Load // FirstToLast if (asyncOrder == ECgLoadAsyncOrder.FirstToLast) { if (LogLoading.Log()) { FCgDebug.Log("FCsManager_Loading.LoadAssetReferences_Internal: Requesting Load of " + assetReferences[FIRST]); } OnStartLoadingAssetReference_Event.Broadcast(assetReferences[FIRST]); ResourceRequest r = Resources.LoadAsync(assetReferences[FIRST]); r.completed += OnFinishedLoadingAssetReference; } // Bulk else { for (int i = 0; i < size; ++i) { ResourceRequest r = Resources.LoadAsync(assetReferences[i]); r.completed += OnFinishedLoadingAssetReference_Bulk; } } LoadingStartTime = Time.realtimeSinceStartup; LoadingTotalStartTime = LoadingStartTime; }