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); }
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; }); }); }