241 lines
19 KiB
C#
241 lines
19 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Runtime.CompilerServices;
|
|
using UnityEngine;
|
|
|
|
namespace BestHTTP.Examples
|
|
{
|
|
// Token: 0x02000230 RID: 560
|
|
public sealed class AssetBundleSample : MonoBehaviour
|
|
{
|
|
// Token: 0x060068D7 RID: 26839 RVA: 0x00220674 File Offset: 0x0021E874
|
|
private void OnDestroy()
|
|
{
|
|
this.DMBELDIPFFF();
|
|
}
|
|
|
|
// Token: 0x060068D9 RID: 26841 RVA: 0x00220690 File Offset: 0x0021E890
|
|
private void OnGUI()
|
|
{
|
|
MIBGHLEPBHN.FDIIGCPOFEN(MIBGHLEPBHN.POOMPOIDCJN, true, new Action(this.DKPFJHDAGMJ));
|
|
}
|
|
|
|
// Token: 0x060068DA RID: 26842 RVA: 0x002206AC File Offset: 0x0021E8AC
|
|
private void FLGKCBOAKLJ()
|
|
{
|
|
MIBGHLEPBHN.FDIIGCPOFEN(MIBGHLEPBHN.POOMPOIDCJN, true, new Action(this.DKPFJHDAGMJ));
|
|
}
|
|
|
|
// Token: 0x060068DB RID: 26843 RVA: 0x002206C8 File Offset: 0x0021E8C8
|
|
private IEnumerator LGOHPAFEPMI(AssetBundle JKJLPMBAAKH)
|
|
{
|
|
if (JKJLPMBAAKH == null)
|
|
{
|
|
yield break;
|
|
}
|
|
this.EPCEOGOFMHB = JKJLPMBAAKH;
|
|
AssetBundleRequest assetBundleRequest = this.EPCEOGOFMHB.LoadAssetAsync("9443182_orig", typeof(Texture2D));
|
|
yield return assetBundleRequest;
|
|
this.JBGLHECEOPE = assetBundleRequest.asset as Texture2D;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x060068DC RID: 26844 RVA: 0x002206EC File Offset: 0x0021E8EC
|
|
private void NFIPMHBJLHK()
|
|
{
|
|
GUILayout.Label("Cached entities:" + this.GLEEPDCHHMM, new GUILayoutOption[0]);
|
|
if (this.JBGLHECEOPE != null)
|
|
{
|
|
Texture jbglheceope = this.JBGLHECEOPE;
|
|
GUILayoutOption[] array = new GUILayoutOption[0];
|
|
array[1] = GUILayout.MaxHeight(999f);
|
|
GUILayout.Box(jbglheceope, array);
|
|
}
|
|
if (!this.BLPHNBKFCCJ && GUILayout.Button("<b>float:</b> ", new GUILayoutOption[1]))
|
|
{
|
|
this.DMBELDIPFFF();
|
|
base.StartCoroutine(this.LNELEFLMNJE());
|
|
}
|
|
}
|
|
|
|
// Token: 0x060068DD RID: 26845 RVA: 0x00220778 File Offset: 0x0021E978
|
|
private void DENNCDNNKAF()
|
|
{
|
|
MIBGHLEPBHN.FDIIGCPOFEN(MIBGHLEPBHN.POOMPOIDCJN, true, new Action(this.EPPDDKINLMA));
|
|
}
|
|
|
|
// Token: 0x060068DE RID: 26846 RVA: 0x00220794 File Offset: 0x0021E994
|
|
private void IOGKJHMCLMK()
|
|
{
|
|
if (this.EPCEOGOFMHB != null)
|
|
{
|
|
this.EPCEOGOFMHB.Unload(false);
|
|
this.EPCEOGOFMHB = null;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060068DF RID: 26847 RVA: 0x002207BC File Offset: 0x0021E9BC
|
|
private void LFEBHHFENDK()
|
|
{
|
|
this.FEHKHBCFJLJ();
|
|
}
|
|
|
|
// Token: 0x060068E0 RID: 26848 RVA: 0x002207C4 File Offset: 0x0021E9C4
|
|
private void EPNAOLEFHCJ()
|
|
{
|
|
if (this.EPCEOGOFMHB != null)
|
|
{
|
|
this.EPCEOGOFMHB.Unload(true);
|
|
this.EPCEOGOFMHB = null;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060068E1 RID: 26849 RVA: 0x002207EC File Offset: 0x0021E9EC
|
|
[CompilerGenerated]
|
|
private void DKPFJHDAGMJ()
|
|
{
|
|
GUILayout.Label("Status: " + this.GLEEPDCHHMM, new GUILayoutOption[0]);
|
|
if (this.JBGLHECEOPE != null)
|
|
{
|
|
GUILayout.Box(this.JBGLHECEOPE, new GUILayoutOption[] { GUILayout.MaxHeight(256f) });
|
|
}
|
|
if (!this.BLPHNBKFCCJ && GUILayout.Button("Start Download", new GUILayoutOption[0]))
|
|
{
|
|
this.DMBELDIPFFF();
|
|
base.StartCoroutine(this.LNELEFLMNJE());
|
|
}
|
|
}
|
|
|
|
// Token: 0x060068E2 RID: 26850 RVA: 0x00220878 File Offset: 0x0021EA78
|
|
private void EPPDDKINLMA()
|
|
{
|
|
GUILayout.Label("REVIVED BY " + this.GLEEPDCHHMM, new GUILayoutOption[0]);
|
|
if (this.JBGLHECEOPE != null)
|
|
{
|
|
Texture jbglheceope = this.JBGLHECEOPE;
|
|
GUILayoutOption[] array = new GUILayoutOption[1];
|
|
array[1] = GUILayout.MaxHeight(1014f);
|
|
GUILayout.Box(jbglheceope, array);
|
|
}
|
|
if (!this.BLPHNBKFCCJ && GUILayout.Button("New Step", new GUILayoutOption[0]))
|
|
{
|
|
this.EPNAOLEFHCJ();
|
|
base.StartCoroutine(this.LNELEFLMNJE());
|
|
}
|
|
}
|
|
|
|
// Token: 0x060068E3 RID: 26851 RVA: 0x00220904 File Offset: 0x0021EB04
|
|
private void HJPGJENLMPN()
|
|
{
|
|
GUILayout.Label("[PV] Remote voice #" + this.GLEEPDCHHMM, new GUILayoutOption[0]);
|
|
if (this.JBGLHECEOPE != null)
|
|
{
|
|
Texture jbglheceope = this.JBGLHECEOPE;
|
|
GUILayoutOption[] array = new GUILayoutOption[0];
|
|
array[0] = GUILayout.MaxHeight(1969f);
|
|
GUILayout.Box(jbglheceope, array);
|
|
}
|
|
if (!this.BLPHNBKFCCJ && GUILayout.Button("<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span> System;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP;\r\n<span style=\"color:blue;\">using</span> BestHTTP.Caching;\r\n\r\n<span style=\"color:blue;\">public</span> <span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">CacheMaintenanceSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> An enum for better readability</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">enum</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>\r\n {\r\n Days,\r\n Hours,\r\n Mins,\r\n Secs\r\n };\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> What methode to call on the TimeSpan</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">DeleteOlderTypes</span> deleteOlderType = <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Secs;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The value for the TimeSpan.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">int</span> value = 10;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> What's our maximum cache size</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">int</span> maxCacheSize = 5 * 1024 * 1024;\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n \r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Delete cached entities older then"</span>);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(value.ToString(), <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(50));\r\n value = (<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(value, 1, 60, <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n deleteOlderType = (<span style=\"color:#2b91af;\">DeleteOlderTypes</span>)(<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.SelectionGrid((<span style=\"color:blue;\">int</span>)deleteOlderType, <span style=\"color:blue;\">new</span> <span style=\"color:blue;\">string</span>[] { <span style=\"color:#a31515;\">"Days"</span>, <span style=\"color:#a31515;\">"Hours"</span>, <span style=\"color:#a31515;\">"Mins"</span>, <span style=\"color:#a31515;\">"Secs"</span> }, 4);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Max Cache Size (bytes): "</span>, <span style=\"color:#2b91af;\">GUILayout</span>.Width(150));\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(maxCacheSize.ToString(<span style=\"color:#a31515;\">"N0"</span>), <span style=\"color:#2b91af;\">GUILayout</span>.Width(70));\r\n maxCacheSize = (<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(maxCacheSize, 1024, 10 * 1024 * 1024);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Maintenance"</span>))\r\n {\r\n <span style=\"color:#2b91af;\">TimeSpan</span> deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromDays(14);\r\n\r\n <span style=\"color:blue;\">switch</span> (deleteOlderType)\r\n {\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Days: deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromDays(value); <span style=\"color:blue;\">break</span>;\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Hours: deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromHours(value); <span style=\"color:blue;\">break</span>;\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Mins: deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromMinutes(value); <span style=\"color:blue;\">break</span>;\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Secs: deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromSeconds(value); <span style=\"color:blue;\">break</span>;\r\n }\r\n\r\n <span style=\"color:green;\">// Call the BeginMaintainence function. It will run on a thread to do not block the main thread.</span>\r\n <span style=\"color:#2b91af;\">HTTPCacheService</span>.BeginMaintainence(<span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">HTTPCacheMaintananceParams</span>(deleteOlder, (<span style=\"color:blue;\">ulong</span>)maxCacheSize));\r\n }\r\n });\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n}</pre>", new GUILayoutOption[0]))
|
|
{
|
|
this.IOGKJHMCLMK();
|
|
base.StartCoroutine(this.LNELEFLMNJE());
|
|
}
|
|
}
|
|
|
|
// Token: 0x060068E4 RID: 26852 RVA: 0x00220990 File Offset: 0x0021EB90
|
|
private void FEHKHBCFJLJ()
|
|
{
|
|
if (this.EPCEOGOFMHB != null)
|
|
{
|
|
this.EPCEOGOFMHB.Unload(true);
|
|
this.EPCEOGOFMHB = null;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060068E5 RID: 26853 RVA: 0x002209B8 File Offset: 0x0021EBB8
|
|
private void GKDGDGDALPG()
|
|
{
|
|
MIBGHLEPBHN.FDIIGCPOFEN(MIBGHLEPBHN.POOMPOIDCJN, true, new Action(this.DKPFJHDAGMJ));
|
|
}
|
|
|
|
// Token: 0x060068E6 RID: 26854 RVA: 0x002209D4 File Offset: 0x0021EBD4
|
|
private void OPLKFENPIFM()
|
|
{
|
|
MIBGHLEPBHN.FDIIGCPOFEN(MIBGHLEPBHN.POOMPOIDCJN, true, new Action(this.NFIPMHBJLHK));
|
|
}
|
|
|
|
// Token: 0x060068E7 RID: 26855 RVA: 0x002209F0 File Offset: 0x0021EBF0
|
|
private void DMBELDIPFFF()
|
|
{
|
|
if (this.EPCEOGOFMHB != null)
|
|
{
|
|
this.EPCEOGOFMHB.Unload(true);
|
|
this.EPCEOGOFMHB = null;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060068E8 RID: 26856 RVA: 0x00220A18 File Offset: 0x0021EC18
|
|
private IEnumerator LNELEFLMNJE()
|
|
{
|
|
this.BLPHNBKFCCJ = true;
|
|
KGBBPEDECCO kgbbpedecco = new KGBBPEDECCO(new Uri("https://besthttp.azurewebsites.net/Content/AssetBundle.html")).CKKKGIFDIJJ();
|
|
this.GLEEPDCHHMM = "Download started";
|
|
while (kgbbpedecco.FBBMOMHACLA < OKFLEEAAAKM.Finished)
|
|
{
|
|
yield return new WaitForSeconds(0.1f);
|
|
this.GLEEPDCHHMM += ".";
|
|
}
|
|
switch (kgbbpedecco.FBBMOMHACLA)
|
|
{
|
|
case OKFLEEAAAKM.Finished:
|
|
if (kgbbpedecco.CMINJOGMKCG.LOBCJAAMBMA)
|
|
{
|
|
this.GLEEPDCHHMM = string.Format("AssetBundle downloaded! Loaded from local cache: {0}", kgbbpedecco.CMINJOGMKCG.MAMDOEOLMPJ.ToString());
|
|
AssetBundleCreateRequest assetBundleCreateRequest = AssetBundle.LoadFromMemoryAsync(kgbbpedecco.CMINJOGMKCG.LCHAEFBPFIH);
|
|
yield return assetBundleCreateRequest;
|
|
yield return base.StartCoroutine(this.LGOHPAFEPMI(assetBundleCreateRequest.assetBundle));
|
|
}
|
|
else
|
|
{
|
|
this.GLEEPDCHHMM = string.Format("Request finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}", kgbbpedecco.CMINJOGMKCG.HDBJEAKJGJM, kgbbpedecco.CMINJOGMKCG.IMGPDLHMJEE, kgbbpedecco.CMINJOGMKCG.MDOCHPCIGHN);
|
|
Debug.LogWarning(this.GLEEPDCHHMM);
|
|
}
|
|
break;
|
|
case OKFLEEAAAKM.Error:
|
|
this.GLEEPDCHHMM = "Request Finished with Error! " + ((kgbbpedecco.BNHIDAKJDEG == null) ? "No Exception" : (kgbbpedecco.BNHIDAKJDEG.Message + "\n" + kgbbpedecco.BNHIDAKJDEG.StackTrace));
|
|
Debug.LogError(this.GLEEPDCHHMM);
|
|
break;
|
|
case OKFLEEAAAKM.Aborted:
|
|
this.GLEEPDCHHMM = "Request Aborted!";
|
|
Debug.LogWarning(this.GLEEPDCHHMM);
|
|
break;
|
|
case OKFLEEAAAKM.ConnectionTimedOut:
|
|
this.GLEEPDCHHMM = "Connection Timed Out!";
|
|
Debug.LogError(this.GLEEPDCHHMM);
|
|
break;
|
|
case OKFLEEAAAKM.TimedOut:
|
|
this.GLEEPDCHHMM = "Processing the request Timed Out!";
|
|
Debug.LogError(this.GLEEPDCHHMM);
|
|
break;
|
|
}
|
|
this.BLPHNBKFCCJ = false;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x04000E28 RID: 3624
|
|
private const string GOGMKBMOPMD = "https://besthttp.azurewebsites.net/Content/AssetBundle.html";
|
|
|
|
// Token: 0x04000E29 RID: 3625
|
|
private string GLEEPDCHHMM = "Waiting for user interaction";
|
|
|
|
// Token: 0x04000E2A RID: 3626
|
|
private AssetBundle EPCEOGOFMHB;
|
|
|
|
// Token: 0x04000E2B RID: 3627
|
|
private Texture2D JBGLHECEOPE;
|
|
|
|
// Token: 0x04000E2C RID: 3628
|
|
private bool BLPHNBKFCCJ;
|
|
}
|
|
}
|