コード例 #1
0
    public void Download(int tabIndex)
    {
        if (!this.PreCheck())
        {
            return;
        }
        MonoBehaviour.print("Downloaded " + tabIndex);
        CLRocket clrocket = this.pages[tabIndex];

        Build.main.LoadSave(JsonUtility.FromJson <Build.BuildSave>(clrocket.JSON));
        this.downloadMenu.gameObject.SetActive(false);
    }
コード例 #2
0
 public void LoadPage(string category, int pageNum, Action doAfter, Action <string> onFail = null)
 {
     if (!this.CheckConnection())
     {
         return;
     }
     if (this.requestingPage)
     {
         return;
     }
     this.requestingPage = true;
     this.pages.Clear();
     ThreadPool.QueueUserWorkItem(delegate(object s)
     {
         CategoryRequestPacket toSend = new CategoryRequestPacket
         {
             Page     = pageNum,
             Category = new SharingCategory(category)
         };
         GameTracker.Tracker.client.AuthedRequest(toSend, delegate(DefaultPacket r)
         {
             Debug.Log("Got response!");
             if (r.Success)
             {
                 CategoryResponsePacket categoryResponsePacket = r.ToTargetPacket <CategoryResponsePacket>();
                 this.pagesIDS = categoryResponsePacket.onPage;
                 for (int i = 0; i < this.rocketPostReference.Length; i++)
                 {
                     int unreffedNum = int.Parse(i.ToString());
                     RocketPost post = this.rocketPostReference[i];
                     if (i >= categoryResponsePacket.onPage.Count)
                     {
                         SyncContext.RunOnUI(new Action(post.HidePage));
                     }
                     else
                     {
                         string targetRocket           = categoryResponsePacket.onPage[i];
                         DownloadRequestPacket toSend2 = new DownloadRequestPacket
                         {
                             targetRocket = targetRocket
                         };
                         GameTracker.Tracker.client.AuthedRequest(toSend2, delegate(DefaultPacket resp)
                         {
                             SyncContext.RunOnUI(delegate
                             {
                                 if (resp.Success)
                                 {
                                     RocketResponsePacket rocketResponsePacket = resp.ToTargetPacket <RocketResponsePacket>();
                                     CLRocket response       = rocketResponsePacket.response;
                                     this.pages[unreffedNum] = response;
                                     Debug.Log(string.Concat(new object[]
                                     {
                                         "setting ",
                                         unreffedNum,
                                         " to ",
                                         response.ID
                                     }));
                                     post.LoadPage(response.Title, response.ID, response.Score, response.LocalUpvote, response.LocalDownvote, response.CanDelete);
                                     post.LoadImage(response.JSON);
                                 }
                             });
                         });
                     }
                 }
                 SyncContext.RunOnUI(doAfter);
             }
             else
             {
                 SyncContext.RunOnUI(new Action(this.HidePosts));
                 Debug.Log(r.Error);
                 if (onFail != null)
                 {
                     SyncContext.RunOnUI <string>(onFail, r.Error);
                 }
             }
             this.requestingPage  = false;
             this.currentCategory = category;
         });
     });
 }