コード例 #1
0
 private static void NotifyFileLoaded(DataManager me, DataManager.DataManagerLoadRequest request, ref bool isLoading)
 {
     if (request.Prewarm != null)
     {
         if (DebugLog)
         {
             Trace("Notified Prewarm: {0}", GetKey(request));
         }
         List <PrewarmRequest> pre = (List <PrewarmRequest>)prewarmRequests.GetValue(me);
         pre.Remove(request.Prewarm);
     }
     if (DebugLog)
     {
         Trace("Notified Done: {0}", GetKey(request));
     }
     CheckMechDefDependencies(request);
     if (LoadingQueue && request.IsComplete())
     {
         foregroundLoading.Remove(request);
     }
     if (CheckRequestsComplete())
     {
         if (foreground.Count > 0)
         {
             stopwatch.Stop();
             Info("Foreground queue ({0}) cleared. {1:n0}ms this queue, {2:n0}ms total.", foreground.Count, stopwatch.ElapsedMilliseconds, totalLoadTime += stopwatch.ElapsedMilliseconds);
             stopwatch.Reset();
         }
         else if (DebugLog)
         {
             Verbo("Empty foreground queue cleared by {0}.", GetKey(request));
         }
         isLoading = false;
         SaveCache.Invoke(me, null);
         foreground.Clear();
         if (LoadingQueue)
         {
             foregroundLoading.Clear();
         }
         depender.Clear();
         dependee.Clear();
         center.PublishMessage(new DataManagerLoadCompleteMessage());
     }
 }
コード例 #2
0
 private static bool IsComplete(DataManager.DataManagerLoadRequest e)
 {
     return(e.IsComplete());
 }