Files
2026-06-04 11:42:34 +02:00

45 lines
216 KiB
C#

using System;
namespace BestHTTP.Examples
{
// Token: 0x0200022D RID: 557
public static class DGAOEIOPBPK
{
// Token: 0x04000E17 RID: 3607
public static string DGLMGBDNEKB = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP;\r\n\r\n<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">sealed</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">TextureDownloadSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;URL&nbsp;of&nbsp;the&nbsp;server&nbsp;that&nbsp;will&nbsp;serve&nbsp;the&nbsp;image&nbsp;resources</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">const</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;BaseURL&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;http://besthttp.azurewebsites.net/Content/&quot;</span>;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Fields\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;downloadable&nbsp;images</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>[]&nbsp;Images&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:blue;\">string</span>[9]&nbsp;{&nbsp;<span style=\"color:#a31515;\">&quot;One.png&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Two.png&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Three.png&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Four.png&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Five.png&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Six.png&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Seven.png&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Eight.png&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Nine.png&quot;</span>&nbsp;};\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;downloaded&nbsp;images&nbsp;will&nbsp;be&nbsp;stored&nbsp;as&nbsp;textures&nbsp;in&nbsp;this&nbsp;array</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Texture2D</span>[]&nbsp;Textures&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Texture2D</span>[9];\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;True&nbsp;if&nbsp;all&nbsp;images&nbsp;are&nbsp;loaded&nbsp;from&nbsp;the&nbsp;local&nbsp;cache&nbsp;instead&nbsp;of&nbsp;the&nbsp;server</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">bool</span>&nbsp;allDownloadedFromLocalCache;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;How&nbsp;many&nbsp;sent&nbsp;requests&nbsp;are&nbsp;finished</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">int</span>&nbsp;finishedCount;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;GUI&nbsp;scroll&nbsp;position</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Vector2</span>&nbsp;scrollPos;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Awake()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;a&nbsp;well&nbsp;observable&nbsp;value</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;This&nbsp;is&nbsp;how&nbsp;many&nbsp;concurrent&nbsp;requests&nbsp;can&nbsp;be&nbsp;made&nbsp;to&nbsp;a&nbsp;server</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer&nbsp;=&nbsp;1;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Create&nbsp;placeholder&nbsp;textures</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">for</span>&nbsp;(<span style=\"color:blue;\">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;Images.Length;&nbsp;++i)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Textures[i]&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Texture2D</span>(100,&nbsp;150);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;back&nbsp;to&nbsp;its&nbsp;defualt&nbsp;value.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer&nbsp;=&nbsp;4;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scrollPos&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Draw&nbsp;out&nbsp;the&nbsp;textures</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.SelectionGrid(0,&nbsp;Textures,&nbsp;3);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(finishedCount&nbsp;==&nbsp;Images.Length&nbsp;&amp;&amp;&nbsp;allDownloadedFromLocalCache)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawCenteredText(<span style=\"color:#a31515;\">&quot;All&nbsp;images&nbsp;loaded&nbsp;from&nbsp;the&nbsp;local&nbsp;cache!&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Max&nbsp;Connection/Server:&nbsp;&quot;</span>,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Width(150));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer.ToString(),&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Width(20));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer&nbsp;=&nbsp;(<span style=\"color:blue;\">byte</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(<span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer,&nbsp;1,&nbsp;10);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Start&nbsp;Download&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DownloadImages();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Helper&nbsp;Functions\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;DownloadImages()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;these&nbsp;metadatas&nbsp;to&nbsp;its&nbsp;initial&nbsp;values</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allDownloadedFromLocalCache&nbsp;=&nbsp;<span style=\"color:blue;\">true</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finishedCount&nbsp;=&nbsp;0;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">for</span>&nbsp;(<span style=\"color:blue;\">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;Images.Length;&nbsp;++i)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;a&nbsp;blank&nbsp;placeholder&nbsp;texture,&nbsp;overriding&nbsp;previously&nbsp;downloaded&nbsp;texture</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Textures[i]&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Texture2D</span>(100,&nbsp;150);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Construct&nbsp;the&nbsp;request</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">var</span>&nbsp;request&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequest</span>(<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(BaseURL&nbsp;+&nbsp;Images[i]),&nbsp;ImageDownloaded);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;the&nbsp;Tag&nbsp;property,&nbsp;we&nbsp;can&nbsp;use&nbsp;it&nbsp;as&nbsp;a&nbsp;general&nbsp;storage&nbsp;bound&nbsp;to&nbsp;the&nbsp;request</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.Tag&nbsp;=&nbsp;Textures[i];\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Send&nbsp;out&nbsp;the&nbsp;request</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.Send();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Callback&nbsp;function&nbsp;of&nbsp;the&nbsp;image&nbsp;download&nbsp;http&nbsp;requests</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;ImageDownloaded(<span style=\"color:#2b91af;\">HTTPRequest</span>&nbsp;req,&nbsp;<span style=\"color:#2b91af;\">HTTPResponse</span>&nbsp;resp)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Increase&nbsp;the&nbsp;finished&nbsp;count&nbsp;regardless&nbsp;of&nbsp;the&nbsp;state&nbsp;of&nbsp;our&nbsp;request</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finishedCount++;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">switch</span>&nbsp;(req.State)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;request&nbsp;finished&nbsp;without&nbsp;any&nbsp;problem.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(resp.IsSuccess)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Get&nbsp;the&nbsp;Texture&nbsp;from&nbsp;the&nbsp;Tag&nbsp;property</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Texture2D</span>&nbsp;tex&nbsp;=&nbsp;req.Tag&nbsp;<span style=\"color:blue;\">as</span>&nbsp;<span style=\"color:#2b91af;\">Texture2D</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Load&nbsp;the&nbsp;texture</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tex.LoadImage(resp.Data);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Update&nbsp;the&nbsp;cache-info&nbsp;variable</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allDownloadedFromLocalCache&nbsp;=&nbsp;allDownloadedFromLocalCache&nbsp;&amp;&amp;&nbsp;resp.IsFromCache;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">else</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Debug</span>.LogWarning(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;Request&nbsp;finished&nbsp;Successfully,&nbsp;but&nbsp;the&nbsp;server&nbsp;sent&nbsp;an&nbsp;error.&nbsp;Status&nbsp;Code:&nbsp;{0}-{1}&nbsp;Message:&nbsp;{2}&quot;</span>,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resp.StatusCode,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resp.Message,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resp.DataAsText));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;request&nbsp;finished&nbsp;with&nbsp;an&nbsp;unexpected&nbsp;error.&nbsp;The&nbsp;request&#39;s&nbsp;Exception&nbsp;property&nbsp;may&nbsp;contain&nbsp;more&nbsp;info&nbsp;about&nbsp;the&nbsp;error.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Error:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Debug</span>.LogError(<span style=\"color:#a31515;\">&quot;Request&nbsp;Finished&nbsp;with&nbsp;Error!&nbsp;&quot;</span>&nbsp;+&nbsp;(req.Exception&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>&nbsp;?&nbsp;(req.Exception.Message&nbsp;+&nbsp;<span style=\"color:#a31515;\">&quot;\\n&quot;</span>&nbsp;+&nbsp;req.Exception.StackTrace)&nbsp;:&nbsp;<span style=\"color:#a31515;\">&quot;No&nbsp;Exception&quot;</span>));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;request&nbsp;aborted,&nbsp;initiated&nbsp;by&nbsp;the&nbsp;user.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Aborted:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91a[...string is too long...]";
// Token: 0x04000E18 RID: 3608
public static string NDLNBKNGAHG = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.WebSocket;\r\n\r\n<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">WebSocketSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Fields\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;WebSocket&nbsp;address&nbsp;to&nbsp;connect</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;address&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;ws://echo.websocket.org&quot;</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Default&nbsp;text&nbsp;to&nbsp;send</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;msgToSend&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Hello&nbsp;World!&quot;</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Debug&nbsp;text&nbsp;to&nbsp;draw&nbsp;on&nbsp;the&nbsp;gui</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;Text&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Saved&nbsp;WebSocket&nbsp;instance</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">WebSocket</span>&nbsp;webSocket;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;GUI&nbsp;scroll&nbsp;position</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Vector2</span>&nbsp;scrollPos;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(webSocket&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scrollPos&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(Text);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(5);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;address&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.TextField(address);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(webSocket&nbsp;==&nbsp;<span style=\"color:blue;\">null</span>&nbsp;&amp;&amp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Open&nbsp;Web&nbsp;Socket&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Create&nbsp;the&nbsp;WebSocket&nbsp;instance</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">WebSocket</span>(<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(address));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">HTTPManager</span>.Proxy&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket.InternalRequest.Proxy&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">HTTPProxy</span>(<span style=\"color:#2b91af;\">HTTPManager</span>.Proxy.Address,&nbsp;<span style=\"color:#2b91af;\">HTTPManager</span>.Proxy.Credentials,&nbsp;<span style=\"color:blue;\">false</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Subscribe&nbsp;to&nbsp;the&nbsp;WS&nbsp;events</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket.OnOpen&nbsp;+=&nbsp;OnOpen;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket.OnMessage&nbsp;+=&nbsp;OnMessageReceived;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket.OnClosed&nbsp;+=&nbsp;OnClosed;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket.OnError&nbsp;+=&nbsp;OnError;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Start&nbsp;connecting&nbsp;to&nbsp;the&nbsp;server</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket.Open();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;+=&nbsp;<span style=\"color:#a31515;\">&quot;Opening&nbsp;Web&nbsp;Socket...\\n&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(webSocket&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>&nbsp;&amp;&amp;&nbsp;webSocket.IsOpen)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msgToSend&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.TextField(msgToSend);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Send&quot;</span>,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MaxWidth(70)))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;+=&nbsp;<span style=\"color:#a31515;\">&quot;Sending&nbsp;message...\\n&quot;</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Send&nbsp;message&nbsp;to&nbsp;the&nbsp;server</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket.Send(msgToSend);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Close&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Close&nbsp;the&nbsp;connection</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket.Close(1000,&nbsp;<span style=\"color:#a31515;\">&quot;Bye!&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;WebSocket&nbsp;Event&nbsp;Handlers\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;when&nbsp;the&nbsp;web&nbsp;socket&nbsp;is&nbsp;open,&nbsp;and&nbsp;we&nbsp;are&nbsp;ready&nbsp;to&nbsp;send&nbsp;and&nbsp;receive&nbsp;data</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnOpen(<span style=\"color:#2b91af;\">WebSocket</span>&nbsp;ws)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;+=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;-WebSocket&nbsp;Open!\\n&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;when&nbsp;we&nbsp;received&nbsp;a&nbsp;text&nbsp;message&nbsp;from&nbsp;the&nbsp;server</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnMessageReceived(<span style=\"color:#2b91af;\">WebSocket</span>&nbsp;ws,&nbsp;<span style=\"color:blue;\">string</span>&nbsp;message)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;+=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;-Message&nbsp;received:&nbsp;{0}\\n&quot;</span>,&nbsp;message);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;when&nbsp;the&nbsp;web&nbsp;socket&nbsp;closed</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnClosed(<span style=\"color:#2b91af;\">WebSocket</span>&nbsp;ws,&nbsp;<span style=\"color:#2b91af;\">UInt16</span>&nbsp;code,&nbsp;<span style=\"color:blue;\">string</span>&nbsp;message)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;+=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;-WebSocket&nbsp;closed!&nbsp;Code:&nbsp;{0}&nbsp;Message:&nbsp;{1}\\n&quot;</span>,&nbsp;code,&nbsp;message);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket&nbsp;=&nbsp;<span style=\"color:blue;\">null</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;when&nbsp;an&nbsp;error&nbsp;occured&nbsp;on&nbsp;client&nbsp;side</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnError(<span style=\"color:#2b91af;\">WebSocket</span>&nbsp;ws,&nbsp;<span style=\"color:#2b91af;\">Exception</span>&nbsp;ex)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;errorMsg&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(ws.InternalRequest.Response&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errorMsg&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;Status&nbsp;Code&nbsp;from&nbsp;Server:&nbsp;{0}&nbsp;and&nbsp;Message:&nbsp;{1}&quot;</span>,&nbsp;ws.InternalRequest.Response.StatusCode,&nbsp;ws.InternalRequest.Response.Message);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;+=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;-An&nbsp;error&nbsp;occured:&nbsp;{0}\\n&quot;</span>,&nbsp;(ex&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>&nbsp;?&nbsp;ex.Message&nbsp;:&nbsp;<span style=\"color:#a31515;\">&quot;Unknown&nbsp;Error&nbsp;&quot;</span>&nbsp;+&nbsp;errorMsg));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webSocket&nbsp;=&nbsp;<span style=\"color:blue;\">null</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n}</pre>";
// Token: 0x04000E19 RID: 3609
public static string ADDHAKPGEGE = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP;\r\n\r\n<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">sealed</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">AssetBundleSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;url&nbsp;of&nbsp;the&nbsp;resource&nbsp;to&nbsp;download</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">const</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;URL&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;http://besthttp.azurewebsites.net/Content/AssetBundle.html&quot;</span>;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Fields\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Debug&nbsp;status&nbsp;text</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;status&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Waiting&nbsp;for&nbsp;user&nbsp;interaction&quot;</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;downloaded&nbsp;and&nbsp;cached&nbsp;AssetBundle</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">AssetBundle</span>&nbsp;cachedBundle;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;loaded&nbsp;texture&nbsp;from&nbsp;the&nbsp;AssetBundle</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Texture2D</span>&nbsp;texture;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;A&nbsp;flag&nbsp;that&nbsp;indicates&nbsp;that&nbsp;we&nbsp;are&nbsp;processing&nbsp;the&nbsp;request/bundle&nbsp;to&nbsp;hide&nbsp;the&nbsp;&quot;Start&nbsp;Download&quot;&nbsp;button.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">bool</span>&nbsp;downloading;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Status:&nbsp;&quot;</span>&nbsp;+&nbsp;status);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Draw&nbsp;the&nbsp;texture&nbsp;from&nbsp;the&nbsp;downloaded&nbsp;bundle</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(texture&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Box(texture,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MaxHeight(256));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(!downloading&nbsp;&amp;&amp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Start&nbsp;Download&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UnloadBundle();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StartCoroutine(DownloadAssetBundle());\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UnloadBundle();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Helper&nbsp;Functions\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">IEnumerator</span>&nbsp;DownloadAssetBundle()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downloading&nbsp;=&nbsp;<span style=\"color:blue;\">true</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Create&nbsp;and&nbsp;send&nbsp;our&nbsp;request</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">var</span>&nbsp;request&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequest</span>(<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(URL)).Send();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Download&nbsp;started&quot;</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Wait&nbsp;while&nbsp;it&#39;s&nbsp;finishes&nbsp;and&nbsp;add&nbsp;some&nbsp;fancy&nbsp;dots&nbsp;to&nbsp;display&nbsp;something&nbsp;while&nbsp;the&nbsp;user&nbsp;waits&nbsp;for&nbsp;it.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;A&nbsp;simple&nbsp;&quot;yield&nbsp;return&nbsp;StartCoroutine(request);&quot;&nbsp;would&nbsp;do&nbsp;the&nbsp;job&nbsp;too.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">while</span>(request.State&nbsp;&lt;&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">yield</span>&nbsp;<span style=\"color:blue;\">return</span>&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">WaitForSeconds</span>(0.1f);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;+=&nbsp;<span style=\"color:#a31515;\">&quot;.&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Check&nbsp;the&nbsp;outcome&nbsp;of&nbsp;our&nbsp;request.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">switch</span>&nbsp;(request.State)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;request&nbsp;finished&nbsp;without&nbsp;any&nbsp;problem.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished:\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(request.Response.IsSuccess)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;AssetBundle&nbsp;downloaded!&nbsp;Loaded&nbsp;from&nbsp;local&nbsp;cache:&nbsp;{0}&quot;</span>,&nbsp;request.Response.IsFromCache.ToString());\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Start&nbsp;creating&nbsp;the&nbsp;downloaded&nbsp;asset&nbsp;bundle</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">AssetBundleCreateRequest</span>&nbsp;async&nbsp;=&nbsp;<span style=\"color:#2b91af;\">AssetBundle</span>.CreateFromMemory(request.Response.Data);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;wait&nbsp;for&nbsp;it</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">yield</span>&nbsp;<span style=\"color:blue;\">return</span>&nbsp;async;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;And&nbsp;process&nbsp;the&nbsp;bundle</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">yield</span>&nbsp;<span style=\"color:blue;\">return</span>&nbsp;StartCoroutine(ProcessAssetBundle(async.assetBundle));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">else</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;Request&nbsp;finished&nbsp;Successfully,&nbsp;but&nbsp;the&nbsp;server&nbsp;sent&nbsp;an&nbsp;error.&nbsp;Status&nbsp;Code:&nbsp;{0}-{1}&nbsp;Message:&nbsp;{2}&quot;</span>,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.Response.StatusCode,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.Response.Message,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.Response.DataAsText);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Debug</span>.LogWarning(status);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;request&nbsp;finished&nbsp;with&nbsp;an&nbsp;unexpected&nbsp;error.&nbsp;The&nbsp;request&#39;s&nbsp;Exception&nbsp;property&nbsp;may&nbsp;contain&nbsp;more&nbsp;info&nbsp;about&nbsp;the&nbsp;error.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Error:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Request&nbsp;Finished&nbsp;with&nbsp;Error!&nbsp;&quot;</span>&nbsp;+&nbsp;(request.Exception&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>&nbsp;?&nbsp;(request.Exception.Message&nbsp;+&nbsp;<span style=\"color:#a31515;\">&quot;\\n&quot;</span>&nbsp;+&nbsp;request.Exception.StackTrace)&nbsp;:&nbsp;<span style=\"color:#a31515;\">&quot;No&nbsp;Exception&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Debug</span>.LogError(status);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;request&nbsp;aborted,&nbsp;initiated&nbsp;by&nbsp;the&nbsp;user.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Aborted:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Request&nbsp;Aborted!&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Debug</span>.LogWarning(status);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Ceonnecting&nbsp;to&nbsp;the&nbsp;server&nbsp;is&nbsp;timed&nbsp;out.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.ConnectionTimedOut:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Connection&nbsp;Timed&nbsp;Out!&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Debug</span>.LogError(status);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;request&nbsp;didn&#39;t&nbsp;finished&nbsp;in&nbsp;the&nbsp;given&nbsp;time.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.TimedOut:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Processing&nbsp;the&nbsp;request&nbsp;Timed&nbsp;Out!&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Debug</span>.LogError(status);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downloading&nbsp;=&nbsp;<span style=\"color:blue;\">false</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;In&nbsp;this&nbsp;function&nbsp;we&nbsp;can&nbsp;do&nbsp;whatever&nbsp;we&nbsp;want&nbsp;with&nbsp;the&nbsp;freshly&nbsp;downloaded&nbsp;bundle.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;In&nbsp;this&nbsp;example&nbsp;we&nbsp;will&nbsp;cache&nbsp;it&nbsp;for&nbsp;later&nbsp;use,&nbsp;and&nbsp;we&nbsp;will&nbsp;load&nbsp;a&nbsp;texture&nbsp;from&nbsp;it.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">IEnumerator</span>&nbsp;ProcessAssetBundle(<span style=\"color:#2b91af;\">AssetBundle</span>&nbsp;bundle)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(bundle&nbsp;==&nbsp;<span style=\"color:blue;\">null</span>)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">yield</span>&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Save&nbsp;the&nbsp;bundle&nbsp;for&nbsp;future&nbsp;use</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cachedBundle&nbsp;=&nbsp;bundle;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Start&nbsp;loading&nbsp;the&nbsp;asset&nbsp;from&nbsp;the&nbsp;bundle</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">var</span>&nbsp;asyncAsset&nbsp;=&nbsp;cachedBundle.LoadAsync(<span style=\"color:#a31515;\">&quot;9443182_orig&quot;</span>,&nbsp;<span style=\"color:blue;\">typeof</span>(<span style=\"color:#2b91af;\">Texture2D</span>));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;wait&nbsp;til&nbsp;load</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">yield</span>&nbsp;<span style=\"color:blue;\">return</span>&nbsp;asyncAsset;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;get&nbsp;the&nbsp;texture</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nb[...string is too long...]";
// Token: 0x04000E1A RID: 3610
public static string DKNFJADGPLL = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP;\r\n\r\n<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">sealed</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">LargeFileDownloadSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;url&nbsp;of&nbsp;the&nbsp;resource&nbsp;to&nbsp;download</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">const</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;URL&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;http://ipv4.download.thinkbroadband.com/100MB.zip&quot;</span>;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Fields\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Cached&nbsp;request&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;abort&nbsp;it</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">HTTPRequest</span>&nbsp;request;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Debug&nbsp;status&nbsp;of&nbsp;the&nbsp;request</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;status&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Download(processing)&nbsp;progress.&nbsp;Its&nbsp;range&nbsp;is&nbsp;between&nbsp;[0..1]</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">float</span>&nbsp;progress;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;fragment&nbsp;size&nbsp;that&nbsp;we&nbsp;will&nbsp;set&nbsp;to&nbsp;the&nbsp;request</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">int</span>&nbsp;fragmentSize&nbsp;=&nbsp;<span style=\"color:#2b91af;\">HTTPResponse</span>.MinBufferSize;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Awake()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;If&nbsp;we&nbsp;have&nbsp;a&nbsp;non-finished&nbsp;download,&nbsp;set&nbsp;the&nbsp;progress&nbsp;to&nbsp;the&nbsp;value&nbsp;where&nbsp;we&nbsp;left&nbsp;it</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">PlayerPrefs</span>.HasKey(<span style=\"color:#a31515;\">&quot;DownloadLength&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progress&nbsp;=&nbsp;<span style=\"color:#2b91af;\">PlayerPrefs</span>.GetInt(<span style=\"color:#a31515;\">&quot;DownloadProgress&quot;</span>)&nbsp;/&nbsp;(<span style=\"color:blue;\">float</span>)<span style=\"color:#2b91af;\">PlayerPrefs</span>.GetInt(<span style=\"color:#a31515;\">&quot;DownloadLength&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Stop&nbsp;the&nbsp;download&nbsp;if&nbsp;we&nbsp;are&nbsp;leaving&nbsp;this&nbsp;example</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(request&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>&nbsp;&amp;&amp;&nbsp;request.State&nbsp;&lt;&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.OnProgress&nbsp;=&nbsp;<span style=\"color:blue;\">null</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.Callback&nbsp;=&nbsp;<span style=\"color:blue;\">null</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.Abort();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Draw&nbsp;the&nbsp;current&nbsp;status</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Request&nbsp;status:&nbsp;&quot;</span>&nbsp;+&nbsp;status);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(5);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Draw&nbsp;the&nbsp;current&nbsp;progress</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;Progress:&nbsp;{0:P2}&nbsp;of&nbsp;{1:N0}Mb&quot;</span>,&nbsp;progress,&nbsp;<span style=\"color:#2b91af;\">PlayerPrefs</span>.GetInt(<span style=\"color:#a31515;\">&quot;DownloadLength&quot;</span>)&nbsp;/&nbsp;1048576&nbsp;<span style=\"color:green;\">/*1&nbsp;Mb*/</span>));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(progress,&nbsp;0,&nbsp;1);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(50);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(request&nbsp;==&nbsp;<span style=\"color:blue;\">null</span>)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Draw&nbsp;a&nbsp;slider&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;change&nbsp;the&nbsp;fragment&nbsp;size</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;Desired&nbsp;Fragment&nbsp;Size:&nbsp;{0:N}&nbsp;KBytes&quot;</span>,&nbsp;fragmentSize&nbsp;/&nbsp;1024f));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fragmentSize&nbsp;=&nbsp;(<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(fragmentSize,&nbsp;<span style=\"color:#2b91af;\">HTTPResponse</span>.MinBufferSize,&nbsp;10&nbsp;*&nbsp;1024&nbsp;*&nbsp;1024);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(5);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;buttonStr&nbsp;=&nbsp;<span style=\"color:#2b91af;\">PlayerPrefs</span>.HasKey(<span style=\"color:#a31515;\">&quot;DownloadProgress&quot;</span>)&nbsp;?&nbsp;<span style=\"color:#a31515;\">&quot;Continue&nbsp;Download&quot;</span>&nbsp;:&nbsp;<span style=\"color:#a31515;\">&quot;Start&nbsp;Download&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(buttonStr))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamLargeFileTest();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">else</span>&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(request.State&nbsp;==&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Processing&nbsp;&amp;&amp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Abort&nbsp;Download&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Simulate&nbsp;a&nbsp;connection&nbsp;lost</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.Abort();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Helper&nbsp;Functions\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Calling&nbsp;this&nbsp;function&nbsp;again&nbsp;when&nbsp;the&nbsp;&quot;DownloadProgress&quot;&nbsp;key&nbsp;in&nbsp;the&nbsp;PlayerPrefs&nbsp;present&nbsp;will&nbsp;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//\tcontinue&nbsp;the&nbsp;download</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;StreamLargeFileTest()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequest</span>(<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(URL),&nbsp;(req,&nbsp;resp)&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">switch</span>&nbsp;(req.State)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;request&nbsp;is&nbsp;currently&nbsp;processed.&nbsp;With&nbsp;UseStreaming&nbsp;==&nbsp;true,&nbsp;we&nbsp;can&nbsp;get&nbsp;the&nbsp;streamed&nbsp;fragments&nbsp;here</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Processing:\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;the&nbsp;DownloadLength,&nbsp;so&nbsp;we&nbsp;can&nbsp;display&nbsp;the&nbsp;progress</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(!<span style=\"color:#2b91af;\">PlayerPrefs</span>.HasKey(<span style=\"color:#a31515;\">&quot;DownloadLength&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;value&nbsp;=&nbsp;resp.GetFirstHeaderValue(<span style=\"color:#a31515;\">&quot;content-length&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(!<span style=\"color:blue;\">string</span>.IsNullOrEmpty(value))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">PlayerPrefs</span>.SetInt(<span style=\"color:#a31515;\">&quot;DownloadLength&quot;</span>,&nbsp;<span style=\"color:blue;\">int</span>.Parse(value));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Get&nbsp;the&nbsp;fragments,&nbsp;and&nbsp;save&nbsp;them</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ProcessFragments(resp.GetStreamedFragments());\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Processing&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;request&nbsp;finished&nbsp;without&nbsp;any&nbsp;problem.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(resp.IsSuccess)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Save&nbsp;any&nbsp;remaining&nbsp;fragments</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ProcessFragments(resp.GetStreamedFragments());\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Completly&nbsp;finished</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(resp.IsStreamingFinished)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Streaming&nbsp;finished!&quot;</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;We&nbsp;are&nbsp;done,&nbsp;delete&nbsp;the&nbsp;progress&nbsp;key</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">PlayerPrefs</span>.DeleteKey(<span style=\"color:#a31515;\">&quot;DownloadProgress&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">PlayerPrefs</span>.Save();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request&nbsp;=&nbsp;<span style=\"color:blue;\">null</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">else</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Processing&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">else</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;Request&nbsp;finished&nbsp;Successfully,&nbsp;but&nbsp;the&nbsp;server&nbsp;sent&nbsp;an&nbsp;error.&nbsp;Status&nbsp;Code:&nbsp;{0}-{1}&nbsp;Message:&nbsp;{2}&quot;</span>,\r[...string is too long...]";
// Token: 0x04000E1B RID: 3611
public static string HAGONKOIKJB = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SocketIO;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.JSON;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SocketIO.Events;\r\n\r\n<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">sealed</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">SocketIOChatSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">readonly</span>&nbsp;<span style=\"color:#2b91af;\">TimeSpan</span>&nbsp;TYPING_TIMER_LENGTH&nbsp;=&nbsp;<span style=\"color:#2b91af;\">TimeSpan</span>.FromMilliseconds(700);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">enum</span>&nbsp;<span style=\"color:#2b91af;\">ChatStates</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Login,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chat\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Fields\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;Socket.IO&nbsp;manager&nbsp;instance.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">SocketManager</span>&nbsp;Manager;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Current&nbsp;state&nbsp;of&nbsp;the&nbsp;chat&nbsp;demo.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">ChatStates</span>&nbsp;State;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;selected&nbsp;nickname</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;userName&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Currently&nbsp;typing&nbsp;message</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;message&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Sent&nbsp;and&nbsp;received&nbsp;messages.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;chatLog&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Position&nbsp;of&nbsp;the&nbsp;scroller</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">Vector2</span>&nbsp;scrollPos;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;True&nbsp;if&nbsp;the&nbsp;user&nbsp;is&nbsp;currently&nbsp;typing</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">bool</span>&nbsp;typing;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;When&nbsp;the&nbsp;message&nbsp;changed.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">DateTime</span>&nbsp;lastTypingTime&nbsp;=&nbsp;<span style=\"color:#2b91af;\">DateTime</span>.MinValue;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Users&nbsp;that&nbsp;typing.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">List</span>&lt;<span style=\"color:blue;\">string</span>&gt;&nbsp;typingUsers&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">List</span>&lt;<span style=\"color:blue;\">string</span>&gt;();\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Start()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;current&nbsp;state&nbsp;is&nbsp;Login</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;State&nbsp;=&nbsp;<span style=\"color:#2b91af;\">ChatStates</span>.Login;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Change&nbsp;an&nbsp;option&nbsp;to&nbsp;show&nbsp;how&nbsp;it&nbsp;should&nbsp;be&nbsp;done</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">SocketOptions</span>&nbsp;options&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">SocketOptions</span>();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.AutoConnect&nbsp;=&nbsp;<span style=\"color:blue;\">false</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Create&nbsp;the&nbsp;Socket.IO&nbsp;manager</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">SocketManager</span>(<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">&quot;http://chat.socket.io/socket.io/&quot;</span>),&nbsp;options);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;up&nbsp;custom&nbsp;chat&nbsp;events</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Socket.On(<span style=\"color:#a31515;\">&quot;login&quot;</span>,&nbsp;OnLogin);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Socket.On(<span style=\"color:#a31515;\">&quot;new&nbsp;message&quot;</span>,&nbsp;OnNewMessage);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Socket.On(<span style=\"color:#a31515;\">&quot;user&nbsp;joined&quot;</span>,&nbsp;OnUserJoined);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Socket.On(<span style=\"color:#a31515;\">&quot;user&nbsp;left&quot;</span>,&nbsp;OnUserLeft);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Socket.On(<span style=\"color:#a31515;\">&quot;typing&quot;</span>,&nbsp;OnTyping);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Socket.On(<span style=\"color:#a31515;\">&quot;stop&nbsp;typing&quot;</span>,&nbsp;OnStopTyping);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;argument&nbsp;will&nbsp;be&nbsp;an&nbsp;Error&nbsp;object.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Socket.On(<span style=\"color:#2b91af;\">SocketIOEventTypes</span>.Error,&nbsp;(socket,&nbsp;packet,&nbsp;args)&nbsp;=&gt;&nbsp;<span style=\"color:#2b91af;\">Debug</span>.LogError(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;Error:&nbsp;{0}&quot;</span>,&nbsp;args[0].ToString())));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;We&nbsp;set&nbsp;SocketOptions&#39;&nbsp;AutoConnect&nbsp;to&nbsp;false,&nbsp;so&nbsp;we&nbsp;have&nbsp;to&nbsp;call&nbsp;it&nbsp;manually.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Open();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Leaving&nbsp;this&nbsp;sample,&nbsp;close&nbsp;the&nbsp;socket</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Update()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Go&nbsp;back&nbsp;to&nbsp;the&nbsp;demo&nbsp;selector</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">Input</span>.GetKeyDown(<span style=\"color:#2b91af;\">KeyCode</span>.Escape))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">SampleSelector</span>.SelectedSample.DestroyUnityObject();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Stop&nbsp;typing&nbsp;if&nbsp;some&nbsp;time&nbsp;passed&nbsp;without&nbsp;typing</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(typing)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">var</span>&nbsp;typingTimer&nbsp;=&nbsp;<span style=\"color:#2b91af;\">DateTime</span>.UtcNow;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">var</span>&nbsp;timeDiff&nbsp;=&nbsp;typingTimer&nbsp;-&nbsp;lastTypingTime;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(timeDiff&nbsp;&gt;=&nbsp;TYPING_TIMER_LENGTH)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager.Socket.Emit(<span style=\"color:#a31515;\">&quot;stop&nbsp;typing&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typing&nbsp;=&nbsp;<span style=\"color:blue;\">false</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">switch</span>(State)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">ChatStates</span>.Login:&nbsp;DrawLoginScreen();&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">ChatStates</span>.Chat:&nbsp;DrawChatScreen();&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Chat&nbsp;Logic\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;from&nbsp;an&nbsp;OnGUI&nbsp;event&nbsp;to&nbsp;draw&nbsp;the&nbsp;Login&nbsp;Screen.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;DrawLoginScreen()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawCenteredText(<span style=\"color:#a31515;\">&quot;What&#39;s&nbsp;your&nbsp;nickname?&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userName&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.TextField(userName);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Join&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetUserName();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;from&nbsp;an&nbsp;OnGUI&nbsp;event&nbsp;to&nbsp;draw&nbsp;the&nbsp;Chat&nbsp;Screen.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;DrawChatScreen()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scrollPos&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(chatLog,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.ExpandWidth(<span style=\"color:blue;\">true</span>),&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.ExpandHeight(<span style=\"color:blue;\">true</span>));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;typing&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(typingUsers.Count&nbsp;&gt;&nbsp;0)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typing&nbsp;+=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;{0}&quot;</span>,&nbsp;typingUsers[0]);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">for</span>&nbsp;(<span style=\"color:blue;\">int</span>&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;&lt;&nbsp;typingUsers.Count;&nbsp;++i)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typing&nbsp;+=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;,&nbsp;{0}&quot;</span>,&nbsp;typingUsers[i]);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs[...string is too long...]";
// Token: 0x04000E1C RID: 3612
public static string AHJNOOLNJOF = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SocketIO;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SocketIO.Events;\r\n\r\n<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">sealed</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">SocketIOWePlaySample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Possible&nbsp;states&nbsp;of&nbsp;the&nbsp;game.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">enum</span>&nbsp;<span style=\"color:#2b91af;\">States</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connecting,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WaitForNick,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Joined\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Controls&nbsp;that&nbsp;the&nbsp;server&nbsp;understands&nbsp;as&nbsp;a&nbsp;parameter&nbsp;in&nbsp;the&nbsp;move&nbsp;event.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">string</span>[]&nbsp;controls&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:blue;\">string</span>[]&nbsp;{&nbsp;<span style=\"color:#a31515;\">&quot;left&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;right&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;a&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;b&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;up&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;down&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;select&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;start&quot;</span>&nbsp;};\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Ratio&nbsp;of&nbsp;the&nbsp;drawn&nbsp;GUI&nbsp;texture&nbsp;from&nbsp;the&nbsp;screen</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">const</span>&nbsp;<span style=\"color:blue;\">float</span>&nbsp;ratio&nbsp;=&nbsp;1.5f;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;How&nbsp;many&nbsp;messages&nbsp;to&nbsp;keep.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">int</span>&nbsp;MaxMessages&nbsp;=&nbsp;50;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Current&nbsp;state&nbsp;of&nbsp;the&nbsp;game.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">States</span>&nbsp;State;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;root(&quot;/&quot;)&nbsp;Socket&nbsp;instance.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">Socket</span>&nbsp;Socket;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;user-selected&nbsp;nickname.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;Nick&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;message&nbsp;that&nbsp;the&nbsp;user&nbsp;want&nbsp;to&nbsp;send&nbsp;to&nbsp;the&nbsp;chat.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;messageToSend&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;How&nbsp;many&nbsp;user&nbsp;connected&nbsp;to&nbsp;the&nbsp;server.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">int</span>&nbsp;connections;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Local&nbsp;and&nbsp;server&nbsp;sent&nbsp;messages.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">List</span>&lt;<span style=\"color:blue;\">string</span>&gt;&nbsp;messages&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">List</span>&lt;<span style=\"color:blue;\">string</span>&gt;();\r\n&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;chat&nbsp;scroll&nbsp;position.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">Vector2</span>&nbsp;scrollPos;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;decoded&nbsp;texture&nbsp;from&nbsp;the&nbsp;server&nbsp;sent&nbsp;binary&nbsp;data</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">Texture2D</span>&nbsp;FrameTexture;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Start()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Change&nbsp;an&nbsp;option&nbsp;to&nbsp;show&nbsp;how&nbsp;it&nbsp;should&nbsp;be&nbsp;done</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">SocketOptions</span>&nbsp;options&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">SocketOptions</span>();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.AutoConnect&nbsp;=&nbsp;<span style=\"color:blue;\">false</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Create&nbsp;the&nbsp;SocketManager&nbsp;instance</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">var</span>&nbsp;manager&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">SocketManager</span>(<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">&quot;http://io.weplay.io/socket.io/&quot;</span>),&nbsp;options);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Keep&nbsp;a&nbsp;reference&nbsp;to&nbsp;the&nbsp;root&nbsp;namespace</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket&nbsp;=&nbsp;manager.Socket;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;up&nbsp;our&nbsp;event&nbsp;handlers.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.On(<span style=\"color:#2b91af;\">SocketIOEventTypes</span>.Connect,&nbsp;OnConnected);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.On(<span style=\"color:#a31515;\">&quot;joined&quot;</span>,&nbsp;OnJoined);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.On(<span style=\"color:#a31515;\">&quot;connections&quot;</span>,&nbsp;OnConnections);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.On(<span style=\"color:#a31515;\">&quot;join&quot;</span>,&nbsp;OnJoin);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.On(<span style=\"color:#a31515;\">&quot;move&quot;</span>,&nbsp;OnMove);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.On(<span style=\"color:#a31515;\">&quot;message&quot;</span>,&nbsp;OnMessage);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.On(<span style=\"color:#a31515;\">&quot;reload&quot;</span>,&nbsp;OnReload);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Don&#39;t&nbsp;waste&nbsp;cpu&nbsp;cycles&nbsp;on&nbsp;decoding&nbsp;the&nbsp;payload,&nbsp;we&nbsp;are&nbsp;expecting&nbsp;only&nbsp;binary&nbsp;data&nbsp;with&nbsp;this&nbsp;event,</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;&nbsp;and&nbsp;we&nbsp;can&nbsp;access&nbsp;it&nbsp;through&nbsp;the&nbsp;packet&#39;s&nbsp;Attachments&nbsp;property.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.On(<span style=\"color:#a31515;\">&quot;frame&quot;</span>,&nbsp;OnFrame,&nbsp;<span style=\"color:green;\">/*autoDecodePayload:*/</span>&nbsp;<span style=\"color:blue;\">false</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Add&nbsp;error&nbsp;handler,&nbsp;so&nbsp;we&nbsp;can&nbsp;display&nbsp;it</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.On(<span style=\"color:#2b91af;\">SocketIOEventTypes</span>.Error,&nbsp;OnError);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;We&nbsp;set&nbsp;SocketOptions&#39;&nbsp;AutoConnect&nbsp;to&nbsp;false,&nbsp;so&nbsp;we&nbsp;have&nbsp;to&nbsp;call&nbsp;it&nbsp;manually.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;manager.Open();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;We&nbsp;are&nbsp;connecting&nbsp;to&nbsp;the&nbsp;server.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;State&nbsp;=&nbsp;<span style=\"color:#2b91af;\">States</span>.Connecting;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Leaving&nbsp;this&nbsp;sample,&nbsp;close&nbsp;the&nbsp;socket</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Socket.Manager.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Update()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Go&nbsp;back&nbsp;to&nbsp;the&nbsp;demo&nbsp;selector</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">Input</span>.GetKeyDown(<span style=\"color:#2b91af;\">KeyCode</span>.Escape))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">SampleSelector</span>.SelectedSample.DestroyUnityObject();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">switch</span>(State)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">States</span>.Connecting:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawCenteredText(<span style=\"color:#a31515;\">&quot;Connecting&nbsp;to&nbsp;the&nbsp;server...&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">States</span>.WaitForNick:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DrawLoginScreen();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">States</span>.Joined:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Draw&nbsp;Texture</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(FrameTexture&nbsp;!=&nbsp;<span style=\"color:blue;\">null</span>)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Box(FrameTexture);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DrawControls();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DrawChat();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Helper&nbsp;Functions\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;from&nbsp;an&nbsp;OnGUI&nbsp;event&nb[...string is too long...]";
// Token: 0x04000E1D RID: 3613
public static string IILMNAIIPKP = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR;\r\n\r\n<span style=\"color:blue;\">sealed</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">SimpleStreamingSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">readonly</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>&nbsp;URI&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">&quot;http://besthttpsignalr.azurewebsites.net/streaming-connection&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Reference&nbsp;to&nbsp;the&nbsp;SignalR&nbsp;Connection</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Connection</span>&nbsp;signalRConnection;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Helper&nbsp;GUI&nbsp;class&nbsp;to&nbsp;handle&nbsp;and&nbsp;display&nbsp;a&nbsp;string-list</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIMessageList</span>&nbsp;messages&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">GUIMessageList</span>();\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Start()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Create&nbsp;the&nbsp;SignalR&nbsp;connection</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Connection</span>(URI);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;set&nbsp;event&nbsp;handlers</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnNonHubMessage&nbsp;+=&nbsp;signalRConnection_OnNonHubMessage;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnStateChanged&nbsp;+=&nbsp;signalRConnection_OnStateChanged;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnError&nbsp;+=&nbsp;signalRConnection_OnError;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Start&nbsp;connecting&nbsp;to&nbsp;the&nbsp;server</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Open();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Close&nbsp;the&nbsp;connection&nbsp;when&nbsp;the&nbsp;sample&nbsp;is&nbsp;closed</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Messages&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Draw(<span style=\"color:#2b91af;\">Screen</span>.width&nbsp;-&nbsp;20,&nbsp;0);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;SignalR&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Handle&nbsp;Server-sent&nbsp;messages</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;signalRConnection_OnNonHubMessage(<span style=\"color:#2b91af;\">Connection</span>&nbsp;connection,&nbsp;<span style=\"color:blue;\">object</span>&nbsp;data)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:#a31515;\">&quot;[Server&nbsp;Message]&nbsp;&quot;</span>&nbsp;+&nbsp;data.ToString());\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Display&nbsp;state&nbsp;changes</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;signalRConnection_OnStateChanged(<span style=\"color:#2b91af;\">Connection</span>&nbsp;connection,&nbsp;<span style=\"color:#2b91af;\">ConnectionStates</span>&nbsp;oldState,&nbsp;<span style=\"color:#2b91af;\">ConnectionStates</span>&nbsp;newState)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;[State&nbsp;Change]&nbsp;{0}&nbsp;=&gt;&nbsp;{1}&quot;</span>,&nbsp;oldState,&nbsp;newState));\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Display&nbsp;errors.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;signalRConnection_OnError(<span style=\"color:#2b91af;\">Connection</span>&nbsp;connection,&nbsp;<span style=\"color:blue;\">string</span>&nbsp;error)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:#a31515;\">&quot;[Error]&nbsp;&quot;</span>&nbsp;+&nbsp;error);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n}</pre>";
// Token: 0x04000E1E RID: 3614
public static string IPKEONAHFEK = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.Cookies;\r\n\r\n<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">sealed</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">ConnectionAPISample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">readonly</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>&nbsp;URI&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">&quot;http://besthttpsignalr.azurewebsites.net/raw-connection/&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Possible&nbsp;message&nbsp;types&nbsp;that&nbsp;the&nbsp;client&nbsp;can&nbsp;send&nbsp;to&nbsp;the&nbsp;server</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">enum</span>&nbsp;<span style=\"color:#2b91af;\">MessageTypes</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;0</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Broadcast,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;1</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Join,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;2</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrivateMessage,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;3</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddToGroup,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;4</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RemoveFromGroup,&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;5</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendToGroup,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;6</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BroadcastExceptMe,&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;7</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Fields\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Reference&nbsp;to&nbsp;the&nbsp;SignalR&nbsp;Connection</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Connection</span>&nbsp;signalRConnection;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Input&nbsp;strings</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;ToEveryBodyText&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;ToMeText&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;PrivateMessageText&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;PrivateMessageUserOrGroupName&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIMessageList</span>&nbsp;messages&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">GUIMessageList</span>();\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Start()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;a&nbsp;&quot;user&quot;&nbsp;cookie&nbsp;if&nbsp;we&nbsp;previously&nbsp;used&nbsp;the&nbsp;&#39;Enter&nbsp;Name&#39;&nbsp;button.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;The&nbsp;server&nbsp;will&nbsp;set&nbsp;this&nbsp;username&nbsp;to&nbsp;the&nbsp;new&nbsp;connection.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">PlayerPrefs</span>.HasKey(<span style=\"color:#a31515;\">&quot;userName&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">CookieJar</span>.Set(URI,&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Cookie</span>(<span style=\"color:#a31515;\">&quot;user&quot;</span>,&nbsp;<span style=\"color:#2b91af;\">PlayerPrefs</span>.GetString(<span style=\"color:#a31515;\">&quot;userName&quot;</span>)));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Connection</span>(URI);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;to&nbsp;serialize&nbsp;the&nbsp;Message&nbsp;class,&nbsp;set&nbsp;a&nbsp;more&nbsp;advanced&nbsp;json&nbsp;encoder</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.JsonEncoder&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;BestHTTP.SignalR.JsonEncoders.<span style=\"color:#2b91af;\">LitJsonEncoder</span>();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;set&nbsp;up&nbsp;event&nbsp;handlers</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnStateChanged&nbsp;+=&nbsp;signalRConnection_OnStateChanged;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnNonHubMessage&nbsp;+=&nbsp;signalRConnection_OnGeneralMessage;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Start&nbsp;to&nbsp;connect&nbsp;to&nbsp;the&nbsp;server.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Open();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Draw&nbsp;the&nbsp;gui.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Get&nbsp;input&nbsp;strings.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Handle&nbsp;function&nbsp;calls.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;To&nbsp;Everybody\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;To&nbsp;Everybody&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ToEveryBodyText&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.TextField(ToEveryBodyText,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Broadcast&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Broadcast(ToEveryBodyText);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Broadcast&nbsp;(All&nbsp;Except&nbsp;Me)&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BroadcastExceptMe(ToEveryBodyText);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Enter&nbsp;Name&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnterName(ToEveryBodyText);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Join&nbsp;Group&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JoinGroup(ToEveryBodyText);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Leave&nbsp;Group&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LeaveGroup(ToEveryBodyText);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;To&nbsp;Me\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;To&nbsp;Me&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ToMeText&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.TextField(ToMeText,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Send&nbsp;to&nbsp;me&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendToMe(ToMeText);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Message\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Private&nbsp;Message&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Message:&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrivateMessageText&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.TextField(PrivateMessageText,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;User&nbsp;or&nbsp;Group&nbsp;name:&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrivateMessageUserOrGroupName&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.TextField(PrivateMessageUserOrGroupName,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Send&nbsp;to&nbsp;user&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendToUser(PrivateMessageUserOrGroupName,&nbsp;PrivateMessageText);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Send&nbsp;to&nbsp;group&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendToGroup(PrivateMessageUserOrGroupName,&nbsp;PrivateMessageText);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(signalRConnection.State&nbsp;==&nbsp;<span style=\"color:#2b91af;\">ConnectionStates</span>.Closed)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Start&nbsp;Connection&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Open();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">else</span>&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Stop&nbsp;Connection&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Close();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Draw&nbsp;the&nbsp;messages</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Messages&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Draw(<span style=\"color:#2b91af;\">Screen</span>.width&nbsp;-&nbsp;20,&nbsp;0);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Close&nbsp;the&nbsp;connection&nbsp;when&nbsp;the&nbsp;sample&nbsp;is&nbsp;closed</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;SignalR&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Handle&nbsp;non-hub&nbsp;messages</span>\r\n&nbsp;&nbsp;&nbsp;[...string is too long...]";
// Token: 0x04000E1F RID: 3615
public static string HIIHNKPKKPA = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR.Hubs;\r\n\r\n<span style=\"color:blue;\">sealed</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">ConnectionStatusSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">readonly</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>&nbsp;URI&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">&quot;http://besthttpsignalr.azurewebsites.net/signalr&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Reference&nbsp;to&nbsp;the&nbsp;SignalR&nbsp;Connection</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Connection</span>&nbsp;signalRConnection;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIMessageList</span>&nbsp;messages&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">GUIMessageList</span>();\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Start()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Connect&nbsp;to&nbsp;the&nbsp;StatusHub&nbsp;hub</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Connection</span>(URI,&nbsp;<span style=\"color:#a31515;\">&quot;StatusHub&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;General&nbsp;events</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnNonHubMessage&nbsp;+=&nbsp;signalRConnection_OnNonHubMessage;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnError&nbsp;+=&nbsp;signalRConnection_OnError;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnStateChanged&nbsp;+=&nbsp;signalRConnection_OnStateChanged;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;up&nbsp;a&nbsp;callback&nbsp;for&nbsp;Hub&nbsp;events</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection[<span style=\"color:#a31515;\">&quot;StatusHub&quot;</span>].OnMethodCall&nbsp;+=&nbsp;statusHub_OnMethodCall;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Connect&nbsp;to&nbsp;the&nbsp;server</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Open();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Close&nbsp;the&nbsp;connection&nbsp;when&nbsp;we&nbsp;are&nbsp;closing&nbsp;the&nbsp;sample</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;START&quot;</span>)&nbsp;&amp;&amp;&nbsp;signalRConnection.State&nbsp;!=&nbsp;<span style=\"color:#2b91af;\">ConnectionStates</span>.Connected)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Open();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;STOP&quot;</span>)&nbsp;&amp;&amp;&nbsp;signalRConnection.State&nbsp;==&nbsp;<span style=\"color:#2b91af;\">ConnectionStates</span>.Connected)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Clear();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;PING&quot;</span>)&nbsp;&amp;&amp;&nbsp;signalRConnection.State&nbsp;==&nbsp;<span style=\"color:#2b91af;\">ConnectionStates</span>.Connected)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Call&nbsp;a&nbsp;Hub-method&nbsp;on&nbsp;the&nbsp;server.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection[<span style=\"color:#a31515;\">&quot;StatusHub&quot;</span>].Call(<span style=\"color:#a31515;\">&quot;Ping&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Connection&nbsp;Status&nbsp;Messages&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Draw(<span style=\"color:#2b91af;\">Screen</span>.width&nbsp;-&nbsp;20,&nbsp;0);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;SignalR&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;on&nbsp;server-sent&nbsp;non-hub&nbsp;messages.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;signalRConnection_OnNonHubMessage(<span style=\"color:#2b91af;\">Connection</span>&nbsp;manager,&nbsp;<span style=\"color:blue;\">object</span>&nbsp;data)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:#a31515;\">&quot;[Server&nbsp;Message]&nbsp;&quot;</span>&nbsp;+&nbsp;data.ToString());\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;when&nbsp;the&nbsp;SignalR&nbsp;Connection&#39;s&nbsp;state&nbsp;changes.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;signalRConnection_OnStateChanged(<span style=\"color:#2b91af;\">Connection</span>&nbsp;manager,&nbsp;<span style=\"color:#2b91af;\">ConnectionStates</span>&nbsp;oldState,&nbsp;<span style=\"color:#2b91af;\">ConnectionStates</span>&nbsp;newState)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;[State&nbsp;Change]&nbsp;{0}&nbsp;=&gt;&nbsp;{1}&quot;</span>,&nbsp;oldState,&nbsp;newState));\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;when&nbsp;an&nbsp;error&nbsp;occures.&nbsp;The&nbsp;plugin&nbsp;may&nbsp;close&nbsp;the&nbsp;connection&nbsp;after&nbsp;this&nbsp;event.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;signalRConnection_OnError(<span style=\"color:#2b91af;\">Connection</span>&nbsp;manager,&nbsp;<span style=\"color:blue;\">string</span>&nbsp;error)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:#a31515;\">&quot;[Error]&nbsp;&quot;</span>&nbsp;+&nbsp;error);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;when&nbsp;the&nbsp;&quot;StatusHub&quot;&nbsp;hub&nbsp;wants&nbsp;to&nbsp;call&nbsp;a&nbsp;method&nbsp;on&nbsp;this&nbsp;client.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;statusHub_OnMethodCall(<span style=\"color:#2b91af;\">Hub</span>&nbsp;hub,&nbsp;<span style=\"color:blue;\">string</span>&nbsp;method,&nbsp;<span style=\"color:blue;\">params</span>&nbsp;<span style=\"color:blue;\">object</span>[]&nbsp;args)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;id&nbsp;=&nbsp;args.Length&nbsp;&gt;&nbsp;0&nbsp;?&nbsp;args[0]&nbsp;<span style=\"color:blue;\">as</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;:&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;when&nbsp;=&nbsp;args.Length&nbsp;&gt;&nbsp;1&nbsp;?&nbsp;args[1].ToString()&nbsp;:&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">switch</span>&nbsp;(method)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#a31515;\">&quot;joined&quot;</span>:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;[{0}]&nbsp;{1}&nbsp;joined&nbsp;at&nbsp;{2}&quot;</span>,&nbsp;hub.Name,&nbsp;id,&nbsp;when));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#a31515;\">&quot;rejoined&quot;</span>:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;[{0}]&nbsp;{1}&nbsp;reconnected&nbsp;at&nbsp;{2}&quot;</span>,&nbsp;hub.Name,&nbsp;id,&nbsp;when));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#a31515;\">&quot;leave&quot;</span>:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;[{0}]&nbsp;{1}&nbsp;leaved&nbsp;at&nbsp;{2}&quot;</span>,&nbsp;hub.Name,&nbsp;id,&nbsp;when));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">default</span>:&nbsp;<span style=\"color:green;\">//&nbsp;pong</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;[{0}]&nbsp;{1}&quot;</span>,&nbsp;hub.Name,&nbsp;method));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n}</pre>";
// Token: 0x04000E20 RID: 3616
public static string GOPJEHFMGFA = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR.Hubs;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR.Messages;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR.JsonEncoders;\r\n\r\n<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">DemoHubSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">readonly</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>&nbsp;URI&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">&quot;http://besthttpsignalr.azurewebsites.net/signalr&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;SignalR&nbsp;connection&nbsp;instance</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Connection</span>&nbsp;signalRConnection;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;DemoHub&nbsp;client&nbsp;side&nbsp;implementation</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">DemoHub</span>&nbsp;demoHub;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;TypedDemoHub&nbsp;client&nbsp;side&nbsp;implementation</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">TypedDemoHub</span>&nbsp;typedDemoHub;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;&nbsp;VB&nbsp;.NET&nbsp;Hub</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Hub</span>&nbsp;vbDemoHub;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Result&nbsp;of&nbsp;the&nbsp;VB&nbsp;demo&#39;s&nbsp;ReadStateValue&nbsp;call</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;vbReadStateResult&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Vector2</span>&nbsp;scrollPos;&nbsp;&nbsp;&nbsp;&nbsp;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Start()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Create&nbsp;the&nbsp;hubs</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">DemoHub</span>();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedDemoHub&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">TypedDemoHub</span>();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vbDemoHub&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Hub</span>(<span style=\"color:#a31515;\">&quot;vbdemo&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Create&nbsp;the&nbsp;SignalR&nbsp;connection,&nbsp;passing&nbsp;all&nbsp;the&nbsp;three&nbsp;hubs&nbsp;to&nbsp;it</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Connection</span>(URI,&nbsp;demoHub,&nbsp;typedDemoHub,&nbsp;vbDemoHub);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Switch&nbsp;from&nbsp;the&nbsp;default&nbsp;encoder&nbsp;to&nbsp;the&nbsp;LitJson&nbsp;Encoder&nbsp;becouse&nbsp;it&nbsp;can&nbsp;handle&nbsp;the&nbsp;complex&nbsp;types&nbsp;too.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.JsonEncoder&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">LitJsonEncoder</span>();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Call&nbsp;the&nbsp;demo&nbsp;functions&nbsp;when&nbsp;we&nbsp;successfully&nbsp;connect&nbsp;to&nbsp;the&nbsp;server</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnConnected&nbsp;+=&nbsp;(connection)&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">var</span>&nbsp;person&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;{&nbsp;Name&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Foo&quot;</span>,&nbsp;Age&nbsp;=&nbsp;20,&nbsp;Address&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;{&nbsp;Street&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;One&nbsp;Microsoft&nbsp;Way&quot;</span>,&nbsp;Zip&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;98052&quot;</span>&nbsp;}&nbsp;};\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Call&nbsp;the&nbsp;demo&nbsp;functions</span>\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.ReportProgress(<span style=\"color:#a31515;\">&quot;Long&nbsp;running&nbsp;job!&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.AddToGroups();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.GetValue();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.TaskWithException();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.GenericTaskWithException();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.SynchronousException();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.DynamicTask();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.PassingDynamicComplex(person);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.SimpleArray(<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:blue;\">int</span>[]&nbsp;{&nbsp;5,&nbsp;5,&nbsp;6&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.ComplexType(person);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.ComplexArray(<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:blue;\">object</span>[]&nbsp;{&nbsp;person,&nbsp;person,&nbsp;person&nbsp;});\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.Overload();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;set&nbsp;some&nbsp;state</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.State[<span style=\"color:#a31515;\">&quot;name&quot;</span>]&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;Testing&nbsp;state!&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.ReadStateValue();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.PlainTask();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.GenericTaskWithContinueWith();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedDemoHub.Echo(<span style=\"color:#a31515;\">&quot;Typed&nbsp;echo&nbsp;callback&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;vbDemo&nbsp;is&nbsp;not&nbsp;wrapped&nbsp;in&nbsp;a&nbsp;hub&nbsp;class,&nbsp;it&nbsp;would&nbsp;contain&nbsp;only&nbsp;one&nbsp;function</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vbDemoHub.Call(<span style=\"color:#a31515;\">&quot;readStateValue&quot;</span>,&nbsp;(hub,&nbsp;msg,&nbsp;result)&nbsp;=&gt;&nbsp;vbReadStateResult&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;Read&nbsp;some&nbsp;state&nbsp;from&nbsp;VB.NET!&nbsp;=&gt;&nbsp;{0}&quot;</span>,&nbsp;result.ReturnValue&nbsp;==&nbsp;<span style=\"color:blue;\">null</span>&nbsp;?&nbsp;<span style=\"color:#a31515;\">&quot;undefined&quot;</span>&nbsp;:&nbsp;result.ReturnValue.ToString()));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Start&nbsp;opening&nbsp;the&nbsp;signalR&nbsp;connection</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Open();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Close&nbsp;the&nbsp;connection&nbsp;when&nbsp;we&nbsp;are&nbsp;closing&nbsp;this&nbsp;sample</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scrollPos&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos,&nbsp;<span style=\"color:blue;\">false</span>,&nbsp;<span style=\"color:blue;\">false</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demoHub.Draw();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedDemoHub.Draw();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Read&nbsp;State&nbsp;Value&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(vbReadStateResult);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}\r\n\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Wrapper&nbsp;class&nbsp;of&nbsp;the&nbsp;&#39;TypedDemoHub&#39;&nbsp;hub</span>\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">TypedDemoHub</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">Hub</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;typedEchoResult&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;typedEchoClientResult&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">public</span>&nbsp;TypedDemoHub()\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:<span style=\"color:blue;\">base</span>(<span style=\"color:#a31515;\">&quot;typeddemohub&quot;</span>)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;by&nbsp;the&nbsp;Connection&nbsp;class&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;set&nbsp;up&nbsp;mappings.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">override</span>&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Setup()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Setup&nbsp;server-called&nbsp;functions</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">base</span>.On(<span style=\"color:#a31515;\">&quot;Echo&quot;</span>,&nbsp;Echo);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Server&nbsp;Called&nbsp;Functions\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Server-called,&nbsp;client&nbsp;side&nbsp;implementation&nbsp;of&nbsp;the&nbsp;Echo&nbsp;function</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Echo(<span style=\"color:#2b91af;\">Hub</span>&nbsp;hub,&nbsp;<span style=\"color:#2b91af;\">MethodCallMessage</span>&nbsp;methodCall)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedEchoClientResult&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">&quot;{0}&nbsp;#{1}&nbsp;triggered!&quot;</span>,&nbsp;methodCall.Arguments[0],&nbsp;methodCall.Arguments[1]);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Client&nbsp;Called&nbsp;Function(s)\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Client-called,&nbsp;server&nbsp;side&nbsp;implementation&nbsp;of&nbsp;the&nbsp;Echo&nbsp;function.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;When&nbsp;the&nbsp;function&nbsp;successfully&nbsp;executed&nbsp;on&nbsp;the&nbsp;server&nbsp;the&nbsp;OnEcho_Done&nbsp;callback&nbsp;function&nbsp;will&nbsp;be&nbsp;called.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Echo(<span style=\"color:blue;\">string</span>&nbsp;msg)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">base</span>.Call(<span style=\"color:#a31515;\">&quot;echo&quot;</span>,&nbsp;OnEcho_Done,&nbsp;msg);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;When&nbsp;the&nbsp;function&nbsp;successfully&nbsp;executed&nbsp;on&nbsp;the&nbsp;server&nbsp;this&nbsp;callback&nbsp;function&nbsp;will&nbsp;be&nbsp;called.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnEcho_Done(<span style=\"color:#2b91af;\">Hub</span>&nbsp;hub,&nbsp;<span style=\"color:#2b91af;\">ClientMessage</span>&nbsp;originalMessage,&nbsp;<span style=\"color:#2b91af;\">ResultMessage</span>&nbsp;result)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedEchoResult&nbsp;=&nbsp;<span style=\"color:#a31515;\">&quot;TypedDemoHub.Echo(string&nbsp;message)&nbsp;invoked!&quot;</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Draw()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Typed&nbsp;callback&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nb[...string is too long...]";
// Token: 0x04000E21 RID: 3617
public static string LEOBHOIMBBM = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR.Hubs;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR.Messages;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.SignalR.Authentication;\r\n\r\n<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">AuthenticationSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">readonly</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>&nbsp;URI&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">&quot;https://besthttpsignalr.azurewebsites.net/signalr&quot;</span>);\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Fields\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Reference&nbsp;to&nbsp;the&nbsp;SignalR&nbsp;Connection</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Connection</span>&nbsp;signalRConnection;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;userName&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">string</span>&nbsp;role&nbsp;=&nbsp;<span style=\"color:blue;\">string</span>.Empty;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Vector2</span>&nbsp;scrollPos;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Start()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Create&nbsp;the&nbsp;SignalR&nbsp;connection,&nbsp;and&nbsp;pass&nbsp;the&nbsp;hubs&nbsp;that&nbsp;we&nbsp;want&nbsp;to&nbsp;connect&nbsp;to</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">Connection</span>(URI,&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">&quot;noauthhub&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Messages&quot;</span>),\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">&quot;invokeauthhub&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Messages&nbsp;Invoked&nbsp;By&nbsp;Admin&nbsp;or&nbsp;Invoker&quot;</span>),\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">&quot;authhub&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Messages&nbsp;Requiring&nbsp;Authentication&nbsp;to&nbsp;Send&nbsp;or&nbsp;Receive&quot;</span>),\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">&quot;inheritauthhub&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Messages&nbsp;Requiring&nbsp;Authentication&nbsp;to&nbsp;Send&nbsp;or&nbsp;Receive&nbsp;Because&nbsp;of&nbsp;Inheritance&quot;</span>),\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">&quot;incomingauthhub&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Messages&nbsp;Requiring&nbsp;Authentication&nbsp;to&nbsp;Send&quot;</span>),\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">&quot;adminauthhub&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Messages&nbsp;Requiring&nbsp;Admin&nbsp;Membership&nbsp;to&nbsp;Send&nbsp;or&nbsp;Receive&quot;</span>),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">&quot;userandroleauthhub&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Messages&nbsp;Requiring&nbsp;Name&nbsp;to&nbsp;be&nbsp;\\&quot;User\\&quot;&nbsp;and&nbsp;Role&nbsp;to&nbsp;be&nbsp;\\&quot;Admin\\&quot;&nbsp;to&nbsp;Send&nbsp;or&nbsp;Receive&quot;</span>));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;the&nbsp;authenticator&nbsp;if&nbsp;we&nbsp;have&nbsp;valid&nbsp;fields</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(!<span style=\"color:blue;\">string</span>.IsNullOrEmpty(userName)&nbsp;&amp;&amp;&nbsp;!<span style=\"color:blue;\">string</span>.IsNullOrEmpty(role))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.AuthenticationProvider&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">HeaderAuthenticator</span>(userName,&nbsp;role);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Set&nbsp;up&nbsp;event&nbsp;handler</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnConnected&nbsp;+=&nbsp;signalRConnection_OnConnected;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Start&nbsp;to&nbsp;connect&nbsp;to&nbsp;the&nbsp;server.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Open();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnDestroy()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Close&nbsp;the&nbsp;connection&nbsp;when&nbsp;we&nbsp;are&nbsp;closing&nbsp;the&nbsp;sample</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scrollPos&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos,&nbsp;<span style=\"color:blue;\">false</span>,&nbsp;<span style=\"color:blue;\">false</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(signalRConnection.AuthenticationProvider&nbsp;==&nbsp;<span style=\"color:blue;\">null</span>)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Username&nbsp;(Enter&nbsp;&#39;User&#39;):&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userName&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.TextField(userName,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Roles&nbsp;(Enter&nbsp;&#39;Invoker&#39;&nbsp;or&nbsp;&#39;Admin&#39;):&quot;</span>);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;role&nbsp;=&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.TextField(role,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Log&nbsp;in&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restart();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">for</span>&nbsp;(<span style=\"color:blue;\">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;signalRConnection.Hubs.Length;&nbsp;++i)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(signalRConnection.Hubs[i]&nbsp;<span style=\"color:blue;\">as</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>).Draw();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;when&nbsp;we&nbsp;successfully&nbsp;connected&nbsp;to&nbsp;the&nbsp;server.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;signalRConnection_OnConnected(<span style=\"color:#2b91af;\">Connection</span>&nbsp;manager)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;call&nbsp;&#39;InvokedFromClient&#39;&nbsp;on&nbsp;all&nbsp;hubs</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">for</span>&nbsp;(<span style=\"color:blue;\">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;signalRConnection.Hubs.Length;&nbsp;++i)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(signalRConnection.Hubs[i]&nbsp;<span style=\"color:blue;\">as</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>).InvokedFromClient();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Helper&nbsp;function&nbsp;to&nbsp;do&nbsp;a&nbsp;hard-restart&nbsp;to&nbsp;the&nbsp;server.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Restart()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Clean&nbsp;up</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.OnConnected&nbsp;-=&nbsp;signalRConnection_OnConnected;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Close&nbsp;current&nbsp;connection</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection.Close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signalRConnection&nbsp;=&nbsp;<span style=\"color:blue;\">null</span>;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;start&nbsp;again,&nbsp;with&nbsp;authentication&nbsp;if&nbsp;we&nbsp;filled&nbsp;in&nbsp;all&nbsp;input&nbsp;fields</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}\r\n\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Hub&nbsp;implementation&nbsp;for&nbsp;the&nbsp;authentication&nbsp;demo.&nbsp;All&nbsp;hubs&nbsp;that&nbsp;we&nbsp;connect&nbsp;to&nbsp;has&nbsp;the&nbsp;same&nbsp;server&nbsp;and&nbsp;client&nbsp;side&nbsp;functions.</span>\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">BaseHub</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">Hub</span>\r\n{\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Fields\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Hub&nbsp;specific&nbsp;title</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">string</span>&nbsp;Title;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:#2b91af;\">GUIMessageList</span>&nbsp;messages&nbsp;=&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">GUIMessageList</span>();\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">public</span>&nbsp;BaseHub(<span style=\"color:blue;\">string</span>&nbsp;name,&nbsp;<span style=\"color:blue;\">string</span>&nbsp;title)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;<span style=\"color:blue;\">base</span>(name)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">this</span>.Title&nbsp;=&nbsp;title;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;Called&nbsp;by&nbsp;the&nbsp;Connection&nbsp;class&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;set&nbsp;up&nbsp;mappings.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">override</span>&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Setup()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Map&nbsp;the&nbsp;server-callable&nbsp;method&nbsp;names&nbsp;to&nbsp;the&nbsp;real&nbsp;functions.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On(<span style=\"color:#a31515;\">&quot;joined&quot;</span>,&nbsp;Joined);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On(<span style=\"color:#a31515;\">&quot;rejoined&quot;</span>,&nbsp;Rejoined);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On(<span style=\"color:#a31515;\">&quot;left&quot;</span>,&nbsp;Left);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On(<span style=\"color:#a31515;\">&quot;invoked&quot;</span>,&nbsp;Invoked);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Server&nbsp;Called&nbsp;Functions\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">private</span>&nbsp;<span style=\"color:blue;\">void</span>&nbsp;Joined(<span style=\"color:#2b91af;\">Hub</span>&nbsp;hub,&nbsp;<span style=\"color:#2b91af;\">MethodCallMessage</span>&nbsp;methodCall)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">Dictionary</span>&lt;<span style=\"color:blue;\">string</span>,&nbsp;<span style=\"color:blue;\">object</span>&gt;&nbsp;AuthInfo&nbsp;=&nbsp;methodCall.Arguments[2]&nbsp;<span style=\"color:blue;\">as</span>&nbsp;<span style=\"color:#2b91af;\">Dictionary</span>&lt;<span style=\"color:blue;\">string</span>,&nbsp;<span style=\"color:blue;\">object</span>&gt;;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.Add(<span style=\"color:blue;\">string</span>.[...string is too long...]";
// Token: 0x04000E22 RID: 3618
public static string CBOKAMOMBIH = "<pre style=\"font-family:Consolas;font-size:13;color:black;background:silver;\"><span style=\"color:blue;\">using</span>&nbsp;System;\r\n<span style=\"color:blue;\">using</span>&nbsp;System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span>&nbsp;UnityEngine;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP;\r\n<span style=\"color:blue;\">using</span>&nbsp;BestHTTP.Caching;\r\n\r\n<span style=\"color:blue;\">public</span>&nbsp;<span style=\"color:blue;\">sealed</span>&nbsp;<span style=\"color:blue;\">class</span>&nbsp;<span style=\"color:#2b91af;\">CacheMaintenanceSample</span>&nbsp;:&nbsp;<span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;An&nbsp;enum&nbsp;for&nbsp;better&nbsp;readability</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">enum</span>&nbsp;<span style=\"color:#2b91af;\">DeleteOlderTypes</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Days,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hours,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mins,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Secs\r\n&nbsp;&nbsp;&nbsp;&nbsp;};\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Private&nbsp;Fields\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;What&nbsp;methode&nbsp;to&nbsp;call&nbsp;on&nbsp;the&nbsp;TimeSpan</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">DeleteOlderTypes</span>&nbsp;deleteOlderType&nbsp;=&nbsp;<span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Secs;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;The&nbsp;value&nbsp;for&nbsp;the&nbsp;TimeSpan.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">int</span>&nbsp;value&nbsp;=&nbsp;10;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;What&#39;s&nbsp;our&nbsp;maximum&nbsp;cache&nbsp;size</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:gray;\">///</span><span style=\"color:green;\">&nbsp;</span><span style=\"color:gray;\">&lt;/summary&gt;</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">int</span>&nbsp;maxCacheSize&nbsp;=&nbsp;5&nbsp;*&nbsp;1024&nbsp;*&nbsp;1024;\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#region</span>&nbsp;Unity&nbsp;Events\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">void</span>&nbsp;OnGUI()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea,&nbsp;<span style=\"color:blue;\">true</span>,&nbsp;()&nbsp;=&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Delete&nbsp;cached&nbsp;entities&nbsp;older&nbsp;then&quot;</span>);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(value.ToString(),&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(50));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;=&nbsp;(<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(value,&nbsp;1,&nbsp;60,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deleteOlderType&nbsp;=&nbsp;(<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,&nbsp;<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:blue;\">string</span>[]&nbsp;{&nbsp;<span style=\"color:#a31515;\">&quot;Days&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Hours&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Mins&quot;</span>,&nbsp;<span style=\"color:#a31515;\">&quot;Secs&quot;</span>&nbsp;},&nbsp;4);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">&quot;Max&nbsp;Cache&nbsp;Size&nbsp;(bytes):&nbsp;&quot;</span>,&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Width(150));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Label(maxCacheSize.ToString(<span style=\"color:#a31515;\">&quot;N0&quot;</span>),&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Width(70));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxCacheSize&nbsp;=&nbsp;(<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(maxCacheSize,&nbsp;1024,&nbsp;10&nbsp;*&nbsp;1024&nbsp;*&nbsp;1024);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">if</span>&nbsp;(<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">&quot;Maintenance&quot;</span>))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">TimeSpan</span>&nbsp;deleteOlder&nbsp;=&nbsp;<span style=\"color:#2b91af;\">TimeSpan</span>.FromDays(14);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">switch</span>&nbsp;(deleteOlderType)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Days:&nbsp;deleteOlder&nbsp;=&nbsp;<span style=\"color:#2b91af;\">TimeSpan</span>.FromDays(value);&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Hours:&nbsp;deleteOlder&nbsp;=&nbsp;<span style=\"color:#2b91af;\">TimeSpan</span>.FromHours(value);&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Mins:&nbsp;deleteOlder&nbsp;=&nbsp;<span style=\"color:#2b91af;\">TimeSpan</span>.FromMinutes(value);&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">case</span>&nbsp;<span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Secs:&nbsp;deleteOlder&nbsp;=&nbsp;<span style=\"color:#2b91af;\">TimeSpan</span>.FromSeconds(value);&nbsp;<span style=\"color:blue;\">break</span>;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:green;\">//&nbsp;Call&nbsp;the&nbsp;BeginMaintainence&nbsp;function.&nbsp;It&nbsp;will&nbsp;run&nbsp;on&nbsp;a&nbsp;thread&nbsp;to&nbsp;do&nbsp;not&nbsp;block&nbsp;the&nbsp;main&nbsp;thread.</span>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:#2b91af;\">HTTPCacheService</span>.BeginMaintainence(<span style=\"color:blue;\">new</span>&nbsp;<span style=\"color:#2b91af;\">HTTPCacheMaintananceParams</span>(deleteOlder,&nbsp;(<span style=\"color:blue;\">ulong</span>)maxCacheSize));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n<span style=\"color:blue;\">&nbsp;&nbsp;&nbsp;&nbsp;#endregion</span>\r\n}</pre>";
}
}