using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using UnityEngine; namespace BestHTTP.Examples { // Token: 0x020012C0 RID: 4800 [Token(Token = "0x20012C0")] [StructLayout(3)] public sealed class TextureDownloadSample : MonoBehaviour { // Token: 0x06007838 RID: 30776 RVA: 0x0018F220 File Offset: 0x0018D420 [Token(Token = "0x6007838")] [Address(RVA = "0x1E6A880", Offset = "0x1E69280", VA = "0x181E6A880")] private void Awake() { string[] images = this.Images; int num = 0; if (num < images.Length) { Texture2D[] textures = this.Textures; Texture2D texture2D; if (texture2D != 0) { } num++; textures[0] = texture2D; string[] images2 = this.Images; } } // Token: 0x06007839 RID: 30777 RVA: 0x0018F264 File Offset: 0x0018D464 [Token(Token = "0x6007839")] [Address(RVA = "0x1E6ADF0", Offset = "0x1E697F0", VA = "0x181E6ADF0")] private void OnDestroy() { } // Token: 0x0600783A RID: 30778 RVA: 0x0018F274 File Offset: 0x0018D474 [Token(Token = "0x600783A")] [Address(RVA = "0x1E6AE40", Offset = "0x1E69840", VA = "0x181E6AE40")] private void OnGUI() { Rect clientArea = GUIHelper.ClientArea; Action action = delegate { GUILayoutOption[] array = Array.Empty(); Texture2D[] textures = this.Textures; Vector2 vector; this.scrollPos = vector; this.scrollPos.y = (float)0; GUILayoutOption[] array2 = Array.Empty(); int num = GUILayout.SelectionGrid(0, textures, 3, array2); int length = this.Images.Length; if (this.finishedCount == length && this.allDownloadedFromLocalCache) { GUIHelper.DrawCenteredText("All images loaded from the local cache!"); } GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(Array.Empty()); GUILayoutOption[] array3 = new GUILayoutOption[1]; GUILayoutOption guilayoutOption = GUILayout.Width(150f); if (guilayoutOption != 0) { } array3[0] = guilayoutOption; GUILayout.Label("Max Connection/Server: ", array3); byte maxConnectionPerServer = HTTPManager.maxConnectionPerServer; GUILayoutOption[] array4 = new GUILayoutOption[1]; GUILayoutOption guilayoutOption2 = GUILayout.Width(20f); if (guilayoutOption2 != 0) { } array4[0] = guilayoutOption2; GUILayoutOption[] array5 = Array.Empty(); float num2 = GUILayout.HorizontalSlider(20f, 1f, 10f, array5); GUILayout.EndHorizontal(); GUILayoutOption[] array6 = Array.Empty(); if (GUILayout.Button("Start Download", array6)) { this.DownloadImages(); } GUILayout.EndScrollView(); }; GUIHelper.DrawArea(clientArea, true, action); } // Token: 0x0600783B RID: 30779 RVA: 0x0018F29C File Offset: 0x0018D49C [Token(Token = "0x600783B")] [Address(RVA = "0x1E6A990", Offset = "0x1E69390", VA = "0x181E6A990")] private void DownloadImages() { string[] images = this.Images; int num = 0; this.finishedCount = num; if (num < images.Length) { Texture2D[] textures = this.Textures; Texture2D texture2D; if (texture2D != 0) { } textures[0] = texture2D; string text = this.Images[num]; Uri uri = new Uri(this.BaseURL + text); OnRequestFinishedDelegate onRequestFinishedDelegate = new OnRequestFinishedDelegate(this.ImageDownloaded); HTTPRequest httprequest = new HTTPRequest(uri, onRequestFinishedDelegate); Texture2D texture2D2 = this.Textures[num]; httprequest.k__BackingField = texture2D2; HTTPRequest httprequest2 = httprequest.Send(); string[] images2 = this.Images; num++; } } // Token: 0x0600783C RID: 30780 RVA: 0x0018F344 File Offset: 0x0018D544 [Token(Token = "0x600783C")] [Address(RVA = "0x1E6AB70", Offset = "0x1E69570", VA = "0x181E6AB70")] private void ImageDownloaded(HTTPRequest req, HTTPResponse resp) { HTTPRequestStates k__BackingField = req.k__BackingField; if (req != 0) { if (req != 0) { if (req != 0) { if (req != 0) { if (k__BackingField != HTTPRequestStates.Queued) { return; } Debug.LogError("Processing the request Timed Out!"); } Debug.LogError("Connection Timed Out!"); } Debug.LogWarning("Request Aborted!"); return; } if (req.k__BackingField != 0) { Exception innerException = req.k__BackingField.InnerException; } Debug.LogError("Request Finished with Error! " + "No Exception"); } int num; if (!resp.IsSuccess) { int k__BackingField = resp.k__BackingField; string k__BackingField = resp.k__BackingField; string dataAsText = resp.DataAsText; string text = string.Format("Request finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}", k__BackingField, k__BackingField, dataAsText); num = 0; } if (num != 0) { } byte[] k__BackingField = resp.k__BackingField; bool flag = num.LoadImage(k__BackingField); bool flag2 = resp.k__BackingField; throw new NullReferenceException(); } // Token: 0x0600783D RID: 30781 RVA: 0x0018F418 File Offset: 0x0018D618 [Token(Token = "0x600783D")] [Address(RVA = "0x1E6B2A0", Offset = "0x1E69CA0", VA = "0x181E6B2A0")] public TextureDownloadSample() { string text = GUIHelper.BaseURL + "/images/Demo/"; this.BaseURL = text; string[] array = new string[9]; if ("One.png" != 0) { } array[0] = "One.png"; if ("Two.png" != 0) { } array[1] = "Two.png"; if ("Three.png" != 0) { } array[2] = "Three.png"; if ("Four.png" != 0) { } array[3] = "Four.png"; if ("Five.png" != 0) { } array[4] = "Five.png"; if ("Six.png" != 0) { } array[5] = "Six.png"; if ("Seven.png" != 0) { } array[6] = "Seven.png"; if ("Eight.png" != 0) { } array[7] = "Eight.png"; if ("Nine.png" != 0) { } array[8] = "Nine.png"; this.Images = array; Texture2D[] array2 = new Texture2D[9]; this.Textures = array2; base..ctor(); } // Token: 0x040056C6 RID: 22214 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x40056C6")] private string BaseURL; // Token: 0x040056C7 RID: 22215 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x40056C7")] private string[] Images; // Token: 0x040056C8 RID: 22216 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40056C8")] private Texture2D[] Textures; // Token: 0x040056C9 RID: 22217 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x40056C9")] private bool allDownloadedFromLocalCache; // Token: 0x040056CA RID: 22218 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x40056CA")] private int finishedCount; // Token: 0x040056CB RID: 22219 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x40056CB")] private Vector2 scrollPos; } }