Esempio n. 1
0
 public static bool Override_UpdateRequestsTimeout(DataManager __instance, float deltaTime)
 {
     try {
         if (UnpatchManager)
         {
             return(true);
         }
         if (!EnableTimeout)
         {
             return(false);
         }
         DataManager me = __instance;
         if (currentTimeout >= 0f)
         {
             if (queue.Any(IsProcessing))
             {
                 if (DebugLog)
                 {
                     Warn("Foreground request timeout.");
                 }
                 DataManager.DataManagerLoadRequest[] list = queue.Where(IsProcessing).ToArray();
                 currentTimeout += deltaTime;
                 if (currentTimeout > list.Count() * 0.2f)
                 {
                     foreach (DataManager.DataManagerLoadRequest dataManagerLoadRequest in list)
                     {
                         logger.LogWarning(string.Format("DataManager Request for {0} has taken too long. Cancelling request. Your load will probably fail", dataManagerLoadRequest.ResourceId));
                         dataManagerLoadRequest.NotifyLoadFailed();
                     }
                     currentTimeout = -1f;
                 }
             }
         }
         if (currentAsyncTimeout >= 0f && background.Count > 0)
         {
             currentAsyncTimeout += deltaTime;
             if (currentAsyncTimeout > 20f)
             {
                 if (DebugLog)
                 {
                     Warn("Background request timeout.");
                 }
                 DataManager.DataManagerLoadRequest dataManagerLoadRequest = background.Values.First(IsProcessing);
                 if (dataManagerLoadRequest != null)
                 {
                     logger.LogWarning(string.Format("DataManager Async Request for {0} has taken too long. Cancelling request. Your load will probably fail", dataManagerLoadRequest.ResourceId));
                     dataManagerLoadRequest.NotifyLoadFailed();
                 }
                 currentAsyncTimeout = -1f;
             }
         }
         return(false);
     }                 catch (Exception ex) { return(KillManagerPatch(__instance, ex)); }
 }
Esempio n. 2
0
 private static void LogManifestEntryValid(DataManager.DataManagerLoadRequest request)
 {
     logger.LogError(string.Format("LoadRequest for {0} of type {1} has an invalid manifest entry. Any requests for this object will fail.", request.ResourceId, request.ResourceType));
     request.NotifyLoadFailed();
 }