Ejemplo n.º 1
0
    private IEnumerator MainPageTaskTimeout(PageContentTask pageTask, float warningTime)
    {
        yield return(new WaitForSeconds(warningTime));

        if (pageTask != null && !pageTask.Completed)
        {
            FMLogger.Log("main page long load report");
            pageTask.TriggerLongLoading();
        }
        else
        {
            FMLogger.Log("Wtf task is completed");
        }
        this.mainPageTaskTimeoutCoroutine = null;
        yield break;
    }
Ejemplo n.º 2
0
 public void LoadMainPage(PageContentTask pageTask)
 {
     if (pageTask.Page == 1 && this.orderedMainPage != null && this.orderedMainPage.Count > 0 && this.libResponse != null)
     {
         pageTask.Result(true, new PageContentInfo(this.orderedMainPage, this.featuredSection, this.newsTabInfo, this.libResponse.categories, this.libResponse.update_dialog, this.libResponse.bonus_category_config));
     }
     else if (pageTask.Page == 1)
     {
         if (this.mainPageTaskTimeoutCoroutine != null)
         {
             FMLogger.Log("Multi page load invocation");
             base.StopCoroutine(this.mainPageTaskTimeoutCoroutine);
             FMLogger.Log("terminate prev main page task handler");
         }
         this.mainPageTaskTimeoutCoroutine = base.StartCoroutine(this.MainPageTaskTimeout(pageTask, 5f));
         TGFModule.Instance.GetMainPage(pageTask.Page, delegate(LibraryPageResponce response)
         {
             if (pageTask == null || pageTask.IsCanceled)
             {
                 FMLogger.Log("task canceled " + pageTask.Page);
             }
             else if (pageTask != null && pageTask.Completed)
             {
                 FMLogger.Log("task already completed " + pageTask.Page);
             }
             else
             {
                 if (this.mainPageTaskTimeoutCoroutine != null)
                 {
                     this.StopCoroutine(this.mainPageTaskTimeoutCoroutine);
                     this.mainPageTaskTimeoutCoroutine = null;
                 }
                 if (response != null)
                 {
                     this.ParseMainPageContent(response);
                     this.libResponse = response;
                     pageTask.Result(true, new PageContentInfo(this.orderedMainPage, this.featuredSection, this.newsTabInfo, this.libResponse.categories, this.libResponse.update_dialog, this.libResponse.bonus_category_config));
                 }
                 else
                 {
                     pageTask.Result(false, null);
                 }
             }
         });
     }
 }