45 lines
216 KiB
C#
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> System;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP;\r\n\r\n<span style=\"color:blue;\">public</span> <span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">TextureDownloadSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The URL of the server that will serve the image resources</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">const</span> <span style=\"color:blue;\">string</span> BaseURL = <span style=\"color:#a31515;\">"http://besthttp.azurewebsites.net/Content/"</span>;\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The downloadable images</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">string</span>[] Images = <span style=\"color:blue;\">new</span> <span style=\"color:blue;\">string</span>[9] { <span style=\"color:#a31515;\">"One.png"</span>, <span style=\"color:#a31515;\">"Two.png"</span>, <span style=\"color:#a31515;\">"Three.png"</span>, <span style=\"color:#a31515;\">"Four.png"</span>, <span style=\"color:#a31515;\">"Five.png"</span>, <span style=\"color:#a31515;\">"Six.png"</span>, <span style=\"color:#a31515;\">"Seven.png"</span>, <span style=\"color:#a31515;\">"Eight.png"</span>, <span style=\"color:#a31515;\">"Nine.png"</span> };\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The downloaded images will be stored as textures in this array</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Texture2D</span>[] Textures = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Texture2D</span>[9];\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> True if all images are loaded from the local cache instead of the server</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">bool</span> allDownloadedFromLocalCache;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> How many sent requests are finished</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">int</span> finishedCount;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> GUI scroll position</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Vector2</span> scrollPos;\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> Awake()\r\n {\r\n <span style=\"color:green;\">// Set a well observable value</span>\r\n <span style=\"color:green;\">// This is how many concurrent requests can be made to a server</span>\r\n <span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer = 1;\r\n\r\n <span style=\"color:green;\">// Create placeholder textures</span>\r\n <span style=\"color:blue;\">for</span> (<span style=\"color:blue;\">int</span> i = 0; i < Images.Length; ++i)\r\n Textures[i] = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Texture2D</span>(100, 150);\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:green;\">// Set back to its defualt value.</span>\r\n <span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer = 4;\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n scrollPos = <span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos);\r\n\r\n <span style=\"color:green;\">// Draw out the textures</span>\r\n <span style=\"color:#2b91af;\">GUILayout</span>.SelectionGrid(0, Textures, 3);\r\n\r\n <span style=\"color:blue;\">if</span> (finishedCount == Images.Length && allDownloadedFromLocalCache)\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawCenteredText(<span style=\"color:#a31515;\">"All images loaded from the local cache!"</span>);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Max Connection/Server: "</span>, <span style=\"color:#2b91af;\">GUILayout</span>.Width(150));\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer.ToString(), <span style=\"color:#2b91af;\">GUILayout</span>.Width(20));\r\n <span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer = (<span style=\"color:blue;\">byte</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(<span style=\"color:#2b91af;\">HTTPManager</span>.MaxConnectionPerServer, 1, 10);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Start Download"</span>))\r\n DownloadImages();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n });\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Helper Functions\r\n\r\n <span style=\"color:blue;\">void</span> DownloadImages()\r\n {\r\n <span style=\"color:green;\">// Set these metadatas to its initial values</span>\r\n allDownloadedFromLocalCache = <span style=\"color:blue;\">true</span>;\r\n finishedCount = 0;\r\n\r\n <span style=\"color:blue;\">for</span> (<span style=\"color:blue;\">int</span> i = 0; i < Images.Length; ++i)\r\n {\r\n <span style=\"color:green;\">// Set a blank placeholder texture, overriding previously downloaded texture</span>\r\n Textures[i] = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Texture2D</span>(100, 150);\r\n\r\n <span style=\"color:green;\">// Construct the request</span>\r\n <span style=\"color:blue;\">var</span> request = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">HTTPRequest</span>(<span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(BaseURL + Images[i]), ImageDownloaded);\r\n\r\n <span style=\"color:green;\">// Set the Tag property, we can use it as a general storage bound to the request</span>\r\n request.Tag = Textures[i];\r\n\r\n <span style=\"color:green;\">// Send out the request</span>\r\n request.Send();\r\n }\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Callback function of the image download http requests</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> ImageDownloaded(<span style=\"color:#2b91af;\">HTTPRequest</span> req, <span style=\"color:#2b91af;\">HTTPResponse</span> resp)\r\n {\r\n <span style=\"color:green;\">// Increase the finished count regardless of the state of our request</span>\r\n finishedCount++;\r\n\r\n <span style=\"color:blue;\">switch</span> (req.State)\r\n {\r\n <span style=\"color:green;\">// The request finished without any problem.</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished:\r\n <span style=\"color:blue;\">if</span> (resp.IsSuccess)\r\n {\r\n <span style=\"color:green;\">// Get the Texture from the Tag property</span>\r\n <span style=\"color:#2b91af;\">Texture2D</span> tex = req.Tag <span style=\"color:blue;\">as</span> <span style=\"color:#2b91af;\">Texture2D</span>;\r\n\r\n <span style=\"color:green;\">// Load the texture</span>\r\n tex.LoadImage(resp.Data);\r\n\r\n <span style=\"color:green;\">// Update the cache-info variable</span>\r\n allDownloadedFromLocalCache = allDownloadedFromLocalCache && resp.IsFromCache;\r\n }\r\n <span style=\"color:blue;\">else</span>\r\n {\r\n <span style=\"color:#2b91af;\">Debug</span>.LogWarning(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"Request finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}"</span>,\r\n resp.StatusCode,\r\n resp.Message,\r\n resp.DataAsText));\r\n }\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:green;\">// The request finished with an unexpected error. The request's Exception property may contain more info about the error.</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Error:\r\n <span style=\"color:#2b91af;\">Debug</span>.LogError(<span style=\"color:#a31515;\">"Request Finished with Error! "</span> + (req.Exception != <span style=\"color:blue;\">null</span> ? (req.Exception.Message + <span style=\"color:#a31515;\">"\\n"</span> + req.Exception.StackTrace) : <span style=\"color:#a31515;\">"No Exception"</span>));\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:green;\">// The request aborted, initiated by the user.</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Aborted:\r\n <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> System;\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP;\r\n<span style=\"color:blue;\">using</span> BestHTTP.WebSocket;\r\n\r\n<span style=\"color:blue;\">public</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">WebSocketSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n<span style=\"color:blue;\"> #region</span> Private Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The WebSocket address to connect</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">string</span> address = <span style=\"color:#a31515;\">"ws://echo.websocket.org"</span>;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Default text to send</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">string</span> msgToSend = <span style=\"color:#a31515;\">"Hello World!"</span>;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Debug text to draw on the gui</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">string</span> Text = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Saved WebSocket instance</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">WebSocket</span> webSocket;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> GUI scroll position</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Vector2</span> scrollPos;\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:blue;\">if</span> (webSocket != <span style=\"color:blue;\">null</span>)\r\n webSocket.Close();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n scrollPos = <span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(Text);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(5);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n\r\n address = <span style=\"color:#2b91af;\">GUILayout</span>.TextField(address);\r\n\r\n <span style=\"color:blue;\">if</span> (webSocket == <span style=\"color:blue;\">null</span> && <span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Open Web Socket"</span>))\r\n {\r\n <span style=\"color:green;\">// Create the WebSocket instance</span>\r\n webSocket = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">WebSocket</span>(<span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(address));\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">HTTPManager</span>.Proxy != <span style=\"color:blue;\">null</span>)\r\n webSocket.InternalRequest.Proxy = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">HTTPProxy</span>(<span style=\"color:#2b91af;\">HTTPManager</span>.Proxy.Address, <span style=\"color:#2b91af;\">HTTPManager</span>.Proxy.Credentials, <span style=\"color:blue;\">false</span>);\r\n\r\n <span style=\"color:green;\">// Subscribe to the WS events</span>\r\n webSocket.OnOpen += OnOpen;\r\n webSocket.OnMessage += OnMessageReceived;\r\n webSocket.OnClosed += OnClosed;\r\n webSocket.OnError += OnError;\r\n\r\n <span style=\"color:green;\">// Start connecting to the server</span>\r\n webSocket.Open();\r\n\r\n Text += <span style=\"color:#a31515;\">"Opening Web Socket...\\n"</span>;\r\n }\r\n\r\n <span style=\"color:blue;\">if</span> (webSocket != <span style=\"color:blue;\">null</span> && webSocket.IsOpen)\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n msgToSend = <span style=\"color:#2b91af;\">GUILayout</span>.TextField(msgToSend);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Send"</span>, <span style=\"color:#2b91af;\">GUILayout</span>.MaxWidth(70)))\r\n {\r\n Text += <span style=\"color:#a31515;\">"Sending message...\\n"</span>;\r\n\r\n <span style=\"color:green;\">// Send message to the server</span>\r\n webSocket.Send(msgToSend);\r\n }\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Close"</span>))\r\n {\r\n <span style=\"color:green;\">// Close the connection</span>\r\n webSocket.Close(1000, <span style=\"color:#a31515;\">"Bye!"</span>);\r\n }\r\n }\r\n });\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> WebSocket Event Handlers\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called when the web socket is open, and we are ready to send and receive data</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> OnOpen(<span style=\"color:#2b91af;\">WebSocket</span> ws)\r\n {\r\n Text += <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"-WebSocket Open!\\n"</span>);\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called when we received a text message from the server</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> OnMessageReceived(<span style=\"color:#2b91af;\">WebSocket</span> ws, <span style=\"color:blue;\">string</span> message)\r\n {\r\n Text += <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"-Message received: {0}\\n"</span>, message);\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called when the web socket closed</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> OnClosed(<span style=\"color:#2b91af;\">WebSocket</span> ws, <span style=\"color:#2b91af;\">UInt16</span> code, <span style=\"color:blue;\">string</span> message)\r\n {\r\n Text += <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"-WebSocket closed! Code: {0} Message: {1}\\n"</span>, code, message);\r\n webSocket = <span style=\"color:blue;\">null</span>;\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called when an error occured on client side</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> OnError(<span style=\"color:#2b91af;\">WebSocket</span> ws, <span style=\"color:#2b91af;\">Exception</span> ex)\r\n {\r\n <span style=\"color:blue;\">string</span> errorMsg = <span style=\"color:blue;\">string</span>.Empty;\r\n <span style=\"color:blue;\">if</span> (ws.InternalRequest.Response != <span style=\"color:blue;\">null</span>)\r\n errorMsg = <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"Status Code from Server: {0} and Message: {1}"</span>, ws.InternalRequest.Response.StatusCode, ws.InternalRequest.Response.Message);\r\n\r\n Text += <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"-An error occured: {0}\\n"</span>, (ex != <span style=\"color:blue;\">null</span> ? ex.Message : <span style=\"color:#a31515;\">"Unknown Error "</span> + errorMsg));\r\n\r\n webSocket = <span style=\"color:blue;\">null</span>;\r\n }\r\n\r\n<span style=\"color:blue;\"> #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> System;\r\n<span style=\"color:blue;\">using</span> System.Collections;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP;\r\n\r\n<span style=\"color:blue;\">public</span> <span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">AssetBundleSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The url of the resource to download</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">const</span> <span style=\"color:blue;\">string</span> URL = <span style=\"color:#a31515;\">"http://besthttp.azurewebsites.net/Content/AssetBundle.html"</span>;\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Debug status text</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">string</span> status = <span style=\"color:#a31515;\">"Waiting for user interaction"</span>;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The downloaded and cached AssetBundle</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">AssetBundle</span> cachedBundle;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The loaded texture from the AssetBundle</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Texture2D</span> texture;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> A flag that indicates that we are processing the request/bundle to hide the "Start Download" button.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">bool</span> downloading;\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Status: "</span> + status);\r\n\r\n <span style=\"color:green;\">// Draw the texture from the downloaded bundle</span>\r\n <span style=\"color:blue;\">if</span> (texture != <span style=\"color:blue;\">null</span>)\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Box(texture, <span style=\"color:#2b91af;\">GUILayout</span>.MaxHeight(256));\r\n\r\n <span style=\"color:blue;\">if</span> (!downloading && <span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Start Download"</span>))\r\n {\r\n UnloadBundle();\r\n\r\n StartCoroutine(DownloadAssetBundle());\r\n }\r\n });\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n UnloadBundle();\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Helper Functions\r\n\r\n <span style=\"color:#2b91af;\">IEnumerator</span> DownloadAssetBundle()\r\n {\r\n downloading = <span style=\"color:blue;\">true</span>;\r\n\r\n <span style=\"color:green;\">// Create and send our request</span>\r\n <span style=\"color:blue;\">var</span> request = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">HTTPRequest</span>(<span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(URL)).Send();\r\n\r\n status = <span style=\"color:#a31515;\">"Download started"</span>;\r\n\r\n <span style=\"color:green;\">// Wait while it's finishes and add some fancy dots to display something while the user waits for it.</span>\r\n <span style=\"color:green;\">// A simple "yield return StartCoroutine(request);" would do the job too.</span>\r\n <span style=\"color:blue;\">while</span>(request.State < <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished)\r\n {\r\n <span style=\"color:blue;\">yield</span> <span style=\"color:blue;\">return</span> <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">WaitForSeconds</span>(0.1f);\r\n\r\n status += <span style=\"color:#a31515;\">"."</span>;\r\n }\r\n\r\n <span style=\"color:green;\">// Check the outcome of our request.</span>\r\n <span style=\"color:blue;\">switch</span> (request.State)\r\n {\r\n <span style=\"color:green;\">// The request finished without any problem.</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished:\r\n\r\n <span style=\"color:blue;\">if</span> (request.Response.IsSuccess)\r\n {\r\n status = <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"AssetBundle downloaded! Loaded from local cache: {0}"</span>, request.Response.IsFromCache.ToString());\r\n\r\n <span style=\"color:green;\">// Start creating the downloaded asset bundle</span>\r\n <span style=\"color:#2b91af;\">AssetBundleCreateRequest</span> async = <span style=\"color:#2b91af;\">AssetBundle</span>.CreateFromMemory(request.Response.Data);\r\n\r\n <span style=\"color:green;\">// wait for it</span>\r\n <span style=\"color:blue;\">yield</span> <span style=\"color:blue;\">return</span> async;\r\n\r\n <span style=\"color:green;\">// And process the bundle</span>\r\n <span style=\"color:blue;\">yield</span> <span style=\"color:blue;\">return</span> StartCoroutine(ProcessAssetBundle(async.assetBundle));\r\n }\r\n <span style=\"color:blue;\">else</span>\r\n {\r\n status = <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"Request finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}"</span>,\r\n request.Response.StatusCode,\r\n request.Response.Message,\r\n request.Response.DataAsText);\r\n <span style=\"color:#2b91af;\">Debug</span>.LogWarning(status);\r\n }\r\n\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:green;\">// The request finished with an unexpected error. The request's Exception property may contain more info about the error.</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Error:\r\n status = <span style=\"color:#a31515;\">"Request Finished with Error! "</span> + (request.Exception != <span style=\"color:blue;\">null</span> ? (request.Exception.Message + <span style=\"color:#a31515;\">"\\n"</span> + request.Exception.StackTrace) : <span style=\"color:#a31515;\">"No Exception"</span>);\r\n <span style=\"color:#2b91af;\">Debug</span>.LogError(status);\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:green;\">// The request aborted, initiated by the user.</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Aborted:\r\n status = <span style=\"color:#a31515;\">"Request Aborted!"</span>;\r\n <span style=\"color:#2b91af;\">Debug</span>.LogWarning(status);\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:green;\">// Ceonnecting to the server is timed out.</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.ConnectionTimedOut:\r\n status = <span style=\"color:#a31515;\">"Connection Timed Out!"</span>;\r\n <span style=\"color:#2b91af;\">Debug</span>.LogError(status);\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:green;\">// The request didn't finished in the given time.</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.TimedOut:\r\n status = <span style=\"color:#a31515;\">"Processing the request Timed Out!"</span>;\r\n <span style=\"color:#2b91af;\">Debug</span>.LogError(status);\r\n <span style=\"color:blue;\">break</span>;\r\n }\r\n\r\n downloading = <span style=\"color:blue;\">false</span>;\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> In this function we can do whatever we want with the freshly downloaded bundle.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> In this example we will cache it for later use, and we will load a texture from it.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">IEnumerator</span> ProcessAssetBundle(<span style=\"color:#2b91af;\">AssetBundle</span> bundle)\r\n {\r\n <span style=\"color:blue;\">if</span> (bundle == <span style=\"color:blue;\">null</span>)\r\n <span style=\"color:blue;\">yield</span> <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:green;\">// Save the bundle for future use</span>\r\n cachedBundle = bundle;\r\n\r\n <span style=\"color:green;\">// Start loading the asset from the bundle</span>\r\n <span style=\"color:blue;\">var</span> asyncAsset = cachedBundle.LoadAsync(<span style=\"color:#a31515;\">"9443182_orig"</span>, <span style=\"color:blue;\">typeof</span>(<span style=\"color:#2b91af;\">Texture2D</span>));\r\n\r\n <span style=\"color:green;\">// wait til load</span>\r\n <span style=\"color:blue;\">yield</span> <span style=\"color:blue;\">return</span> asyncAsset;\r\n\r\n <span style=\"color:green;\">// get the texture</span>\r\n &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> System;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP;\r\n\r\n<span style=\"color:blue;\">public</span> <span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">LargeFileDownloadSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The url of the resource to download</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">const</span> <span style=\"color:blue;\">string</span> URL = <span style=\"color:#a31515;\">"http://ipv4.download.thinkbroadband.com/100MB.zip"</span>;\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Cached request to be able to abort it</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">HTTPRequest</span> request;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Debug status of the request</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">string</span> status = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Download(processing) progress. Its range is between [0..1]</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">float</span> progress;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The fragment size that we will set to the request</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">int</span> fragmentSize = <span style=\"color:#2b91af;\">HTTPResponse</span>.MinBufferSize;\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> Awake()\r\n {\r\n <span style=\"color:green;\">// If we have a non-finished download, set the progress to the value where we left it</span>\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">PlayerPrefs</span>.HasKey(<span style=\"color:#a31515;\">"DownloadLength"</span>))\r\n progress = <span style=\"color:#2b91af;\">PlayerPrefs</span>.GetInt(<span style=\"color:#a31515;\">"DownloadProgress"</span>) / (<span style=\"color:blue;\">float</span>)<span style=\"color:#2b91af;\">PlayerPrefs</span>.GetInt(<span style=\"color:#a31515;\">"DownloadLength"</span>);\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:green;\">// Stop the download if we are leaving this example</span>\r\n <span style=\"color:blue;\">if</span> (request != <span style=\"color:blue;\">null</span> && request.State < <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished)\r\n {\r\n request.OnProgress = <span style=\"color:blue;\">null</span>;\r\n request.Callback = <span style=\"color:blue;\">null</span>;\r\n request.Abort();\r\n }\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:green;\">// Draw the current status</span>\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Request status: "</span> + status);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(5);\r\n\r\n <span style=\"color:green;\">// Draw the current progress</span>\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"Progress: {0:P2} of {1:N0}Mb"</span>, progress, <span style=\"color:#2b91af;\">PlayerPrefs</span>.GetInt(<span style=\"color:#a31515;\">"DownloadLength"</span>) / 1048576 <span style=\"color:green;\">/*1 Mb*/</span>));\r\n <span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(progress, 0, 1);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(50);\r\n\r\n <span style=\"color:blue;\">if</span> (request == <span style=\"color:blue;\">null</span>)\r\n {\r\n <span style=\"color:green;\">// Draw a slider to be able to change the fragment size</span>\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"Desired Fragment Size: {0:N} KBytes"</span>, fragmentSize / 1024f));\r\n fragmentSize = (<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(fragmentSize, <span style=\"color:#2b91af;\">HTTPResponse</span>.MinBufferSize, 10 * 1024 * 1024);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(5);\r\n\r\n <span style=\"color:blue;\">string</span> buttonStr = <span style=\"color:#2b91af;\">PlayerPrefs</span>.HasKey(<span style=\"color:#a31515;\">"DownloadProgress"</span>) ? <span style=\"color:#a31515;\">"Continue Download"</span> : <span style=\"color:#a31515;\">"Start Download"</span>;\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(buttonStr))\r\n StreamLargeFileTest();\r\n }\r\n <span style=\"color:blue;\">else</span> <span style=\"color:blue;\">if</span> (request.State == <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Processing && <span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Abort Download"</span>))\r\n {\r\n <span style=\"color:green;\">// Simulate a connection lost</span>\r\n request.Abort();\r\n }\r\n });\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Helper Functions\r\n\r\n <span style=\"color:green;\">// Calling this function again when the "DownloadProgress" key in the PlayerPrefs present will </span>\r\n <span style=\"color:green;\">//\tcontinue the download</span>\r\n <span style=\"color:blue;\">void</span> StreamLargeFileTest()\r\n {\r\n request = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">HTTPRequest</span>(<span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(URL), (req, resp) =>\r\n {\r\n <span style=\"color:blue;\">switch</span> (req.State)\r\n {\r\n <span style=\"color:green;\">// The request is currently processed. With UseStreaming == true, we can get the streamed fragments here</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Processing:\r\n\r\n <span style=\"color:green;\">// Set the DownloadLength, so we can display the progress</span>\r\n <span style=\"color:blue;\">if</span> (!<span style=\"color:#2b91af;\">PlayerPrefs</span>.HasKey(<span style=\"color:#a31515;\">"DownloadLength"</span>))\r\n {\r\n <span style=\"color:blue;\">string</span> value = resp.GetFirstHeaderValue(<span style=\"color:#a31515;\">"content-length"</span>);\r\n <span style=\"color:blue;\">if</span> (!<span style=\"color:blue;\">string</span>.IsNullOrEmpty(value))\r\n <span style=\"color:#2b91af;\">PlayerPrefs</span>.SetInt(<span style=\"color:#a31515;\">"DownloadLength"</span>, <span style=\"color:blue;\">int</span>.Parse(value));\r\n }\r\n\r\n <span style=\"color:green;\">// Get the fragments, and save them</span>\r\n ProcessFragments(resp.GetStreamedFragments());\r\n\r\n status = <span style=\"color:#a31515;\">"Processing"</span>;\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:green;\">// The request finished without any problem.</span>\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">HTTPRequestStates</span>.Finished:\r\n <span style=\"color:blue;\">if</span> (resp.IsSuccess)\r\n {\r\n <span style=\"color:green;\">// Save any remaining fragments</span>\r\n ProcessFragments(resp.GetStreamedFragments());\r\n\r\n <span style=\"color:green;\">// Completly finished</span>\r\n <span style=\"color:blue;\">if</span> (resp.IsStreamingFinished)\r\n {\r\n status = <span style=\"color:#a31515;\">"Streaming finished!"</span>;\r\n\r\n <span style=\"color:green;\">// We are done, delete the progress key</span>\r\n <span style=\"color:#2b91af;\">PlayerPrefs</span>.DeleteKey(<span style=\"color:#a31515;\">"DownloadProgress"</span>);\r\n <span style=\"color:#2b91af;\">PlayerPrefs</span>.Save();\r\n\r\n request = <span style=\"color:blue;\">null</span>;\r\n }\r\n <span style=\"color:blue;\">else</span>\r\n status = <span style=\"color:#a31515;\">"Processing"</span>;\r\n }\r\n <span style=\"color:blue;\">else</span>\r\n {\r\n status = <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"Request finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}"</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> System;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SocketIO;\r\n<span style=\"color:blue;\">using</span> BestHTTP.JSON;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SocketIO.Events;\r\n\r\n<span style=\"color:blue;\">public</span> <span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">SocketIOChatSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">readonly</span> <span style=\"color:#2b91af;\">TimeSpan</span> TYPING_TIMER_LENGTH = <span style=\"color:#2b91af;\">TimeSpan</span>.FromMilliseconds(700);\r\n\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">enum</span> <span style=\"color:#2b91af;\">ChatStates</span>\r\n {\r\n Login,\r\n Chat\r\n }\r\n\r\n<span style=\"color:blue;\"> #region</span> Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The Socket.IO manager instance.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">SocketManager</span> Manager;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Current state of the chat demo.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">ChatStates</span> State;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The selected nickname</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">string</span> userName = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Currently typing message</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">string</span> message = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Sent and received messages.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">string</span> chatLog = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Position of the scroller</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">Vector2</span> scrollPos;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> True if the user is currently typing</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">bool</span> typing;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> When the message changed.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">DateTime</span> lastTypingTime = <span style=\"color:#2b91af;\">DateTime</span>.MinValue;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Users that typing.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">List</span><<span style=\"color:blue;\">string</span>> typingUsers = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">List</span><<span style=\"color:blue;\">string</span>>();\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n \r\n <span style=\"color:blue;\">void</span> Start()\r\n {\r\n <span style=\"color:green;\">// The current state is Login</span>\r\n State = <span style=\"color:#2b91af;\">ChatStates</span>.Login;\r\n\r\n <span style=\"color:green;\">// Change an option to show how it should be done</span>\r\n <span style=\"color:#2b91af;\">SocketOptions</span> options = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">SocketOptions</span>();\r\n options.AutoConnect = <span style=\"color:blue;\">false</span>;\r\n \r\n <span style=\"color:green;\">// Create the Socket.IO manager</span>\r\n Manager = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">SocketManager</span>(<span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">"http://chat.socket.io/socket.io/"</span>), options);\r\n\r\n <span style=\"color:green;\">// Set up custom chat events</span>\r\n Manager.Socket.On(<span style=\"color:#a31515;\">"login"</span>, OnLogin);\r\n Manager.Socket.On(<span style=\"color:#a31515;\">"new message"</span>, OnNewMessage);\r\n Manager.Socket.On(<span style=\"color:#a31515;\">"user joined"</span>, OnUserJoined);\r\n Manager.Socket.On(<span style=\"color:#a31515;\">"user left"</span>, OnUserLeft);\r\n Manager.Socket.On(<span style=\"color:#a31515;\">"typing"</span>, OnTyping);\r\n Manager.Socket.On(<span style=\"color:#a31515;\">"stop typing"</span>, OnStopTyping);\r\n\r\n <span style=\"color:green;\">// The argument will be an Error object.</span>\r\n Manager.Socket.On(<span style=\"color:#2b91af;\">SocketIOEventTypes</span>.Error, (socket, packet, args) => <span style=\"color:#2b91af;\">Debug</span>.LogError(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"Error: {0}"</span>, args[0].ToString())));\r\n\r\n <span style=\"color:green;\">// We set SocketOptions' AutoConnect to false, so we have to call it manually.</span>\r\n Manager.Open();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:green;\">// Leaving this sample, close the socket</span>\r\n Manager.Close();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> Update()\r\n {\r\n <span style=\"color:green;\">// Go back to the demo selector</span>\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">Input</span>.GetKeyDown(<span style=\"color:#2b91af;\">KeyCode</span>.Escape))\r\n <span style=\"color:#2b91af;\">SampleSelector</span>.SelectedSample.DestroyUnityObject();\r\n\r\n <span style=\"color:green;\">// Stop typing if some time passed without typing</span>\r\n <span style=\"color:blue;\">if</span> (typing)\r\n {\r\n <span style=\"color:blue;\">var</span> typingTimer = <span style=\"color:#2b91af;\">DateTime</span>.UtcNow;\r\n <span style=\"color:blue;\">var</span> timeDiff = typingTimer - lastTypingTime;\r\n <span style=\"color:blue;\">if</span> (timeDiff >= TYPING_TIMER_LENGTH)\r\n {\r\n Manager.Socket.Emit(<span style=\"color:#a31515;\">"stop typing"</span>);\r\n typing = <span style=\"color:blue;\">false</span>;\r\n }\r\n }\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:blue;\">switch</span>(State)\r\n {\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">ChatStates</span>.Login: DrawLoginScreen(); <span style=\"color:blue;\">break</span>;\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">ChatStates</span>.Chat: DrawChatScreen(); <span style=\"color:blue;\">break</span>;\r\n }\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Chat Logic\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called from an OnGUI event to draw the Login Screen.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> DrawLoginScreen()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawCenteredText(<span style=\"color:#a31515;\">"What's your nickname?"</span>);\r\n userName = <span style=\"color:#2b91af;\">GUILayout</span>.TextField(userName);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Join"</span>))\r\n SetUserName();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n });\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called from an OnGUI event to draw the Chat Screen.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> DrawChatScreen()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n scrollPos = <span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(chatLog, <span style=\"color:#2b91af;\">GUILayout</span>.ExpandWidth(<span style=\"color:blue;\">true</span>), <span style=\"color:#2b91af;\">GUILayout</span>.ExpandHeight(<span style=\"color:blue;\">true</span>));\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n\r\n <span style=\"color:blue;\">string</span> typing = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:blue;\">if</span> (typingUsers.Count > 0)\r\n {\r\n typing += <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"{0}"</span>, typingUsers[0]);\r\n\r\n <span style=\"color:blue;\">for</span> (<span style=\"color:blue;\">int</span> i = 1; i < typingUsers.Count; ++i)\r\n typing += <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">", {0}"</span>, typingUsers[i]);\r\n\r\n &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> System;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SocketIO;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SocketIO.Events;\r\n\r\n<span style=\"color:blue;\">public</span> <span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">SocketIOWePlaySample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Possible states of the game.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">enum</span> <span style=\"color:#2b91af;\">States</span>\r\n {\r\n Connecting,\r\n WaitForNick,\r\n Joined\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Controls that the server understands as a parameter in the move event.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">string</span>[] controls = <span style=\"color:blue;\">new</span> <span style=\"color:blue;\">string</span>[] { <span style=\"color:#a31515;\">"left"</span>, <span style=\"color:#a31515;\">"right"</span>, <span style=\"color:#a31515;\">"a"</span>, <span style=\"color:#a31515;\">"b"</span>, <span style=\"color:#a31515;\">"up"</span>, <span style=\"color:#a31515;\">"down"</span>, <span style=\"color:#a31515;\">"select"</span>, <span style=\"color:#a31515;\">"start"</span> };\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Ratio of the drawn GUI texture from the screen</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">const</span> <span style=\"color:blue;\">float</span> ratio = 1.5f;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> How many messages to keep.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">int</span> MaxMessages = 50;\r\n \r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Current state of the game.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">States</span> State;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The root("/") Socket instance.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">Socket</span> Socket;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The user-selected nickname.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">string</span> Nick = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The message that the user want to send to the chat.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">string</span> messageToSend = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> How many user connected to the server.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">int</span> connections;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Local and server sent messages.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">List</span><<span style=\"color:blue;\">string</span>> messages = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">List</span><<span style=\"color:blue;\">string</span>>();\r\n \r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The chat scroll position.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">Vector2</span> scrollPos;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The decoded texture from the server sent binary data</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">Texture2D</span> FrameTexture;\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> Start()\r\n {\r\n <span style=\"color:green;\">// Change an option to show how it should be done</span>\r\n <span style=\"color:#2b91af;\">SocketOptions</span> options = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">SocketOptions</span>();\r\n options.AutoConnect = <span style=\"color:blue;\">false</span>;\r\n\r\n <span style=\"color:green;\">// Create the SocketManager instance</span>\r\n <span style=\"color:blue;\">var</span> manager = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">SocketManager</span>(<span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">"http://io.weplay.io/socket.io/"</span>), options);\r\n\r\n <span style=\"color:green;\">// Keep a reference to the root namespace</span>\r\n Socket = manager.Socket;\r\n\r\n <span style=\"color:green;\">// Set up our event handlers.</span>\r\n Socket.On(<span style=\"color:#2b91af;\">SocketIOEventTypes</span>.Connect, OnConnected);\r\n Socket.On(<span style=\"color:#a31515;\">"joined"</span>, OnJoined);\r\n Socket.On(<span style=\"color:#a31515;\">"connections"</span>, OnConnections);\r\n Socket.On(<span style=\"color:#a31515;\">"join"</span>, OnJoin);\r\n Socket.On(<span style=\"color:#a31515;\">"move"</span>, OnMove);\r\n Socket.On(<span style=\"color:#a31515;\">"message"</span>, OnMessage);\r\n Socket.On(<span style=\"color:#a31515;\">"reload"</span>, OnReload);\r\n\r\n <span style=\"color:green;\">// Don't waste cpu cycles on decoding the payload, we are expecting only binary data with this event,</span>\r\n <span style=\"color:green;\">// and we can access it through the packet's Attachments property.</span>\r\n Socket.On(<span style=\"color:#a31515;\">"frame"</span>, OnFrame, <span style=\"color:green;\">/*autoDecodePayload:*/</span> <span style=\"color:blue;\">false</span>);\r\n\r\n <span style=\"color:green;\">// Add error handler, so we can display it</span>\r\n Socket.On(<span style=\"color:#2b91af;\">SocketIOEventTypes</span>.Error, OnError);\r\n\r\n <span style=\"color:green;\">// We set SocketOptions' AutoConnect to false, so we have to call it manually.</span>\r\n manager.Open();\r\n\r\n <span style=\"color:green;\">// We are connecting to the server.</span>\r\n State = <span style=\"color:#2b91af;\">States</span>.Connecting;\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:green;\">// Leaving this sample, close the socket</span>\r\n Socket.Manager.Close();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> Update()\r\n {\r\n <span style=\"color:green;\">// Go back to the demo selector</span>\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">Input</span>.GetKeyDown(<span style=\"color:#2b91af;\">KeyCode</span>.Escape))\r\n <span style=\"color:#2b91af;\">SampleSelector</span>.SelectedSample.DestroyUnityObject();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:blue;\">switch</span>(State)\r\n {\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">States</span>.Connecting:\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawCenteredText(<span style=\"color:#a31515;\">"Connecting to the server..."</span>);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n });\r\n <span style=\"color:blue;\">break</span>;\r\n \r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">States</span>.WaitForNick:\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n DrawLoginScreen();\r\n });\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">States</span>.Joined:\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:green;\">// Draw Texture</span>\r\n <span style=\"color:blue;\">if</span> (FrameTexture != <span style=\"color:blue;\">null</span>)\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Box(FrameTexture);\r\n\r\n DrawControls();\r\n DrawChat();\r\n });\r\n <span style=\"color:blue;\">break</span>;\r\n }\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Helper Functions\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called from an OnGUI 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> System;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR;\r\n\r\n<span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">SimpleStreamingSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:blue;\">readonly</span> <span style=\"color:#2b91af;\">Uri</span> URI = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">"http://besthttpsignalr.azurewebsites.net/streaming-connection"</span>);\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Reference to the SignalR Connection</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Connection</span> signalRConnection;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Helper GUI class to handle and display a string-list</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">GUIMessageList</span> messages = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">GUIMessageList</span>();\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> Start()\r\n {\r\n <span style=\"color:green;\">// Create the SignalR connection</span>\r\n signalRConnection = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Connection</span>(URI);\r\n\r\n <span style=\"color:green;\">// set event handlers</span>\r\n signalRConnection.OnNonHubMessage += signalRConnection_OnNonHubMessage;\r\n signalRConnection.OnStateChanged += signalRConnection_OnStateChanged;\r\n signalRConnection.OnError += signalRConnection_OnError;\r\n\r\n <span style=\"color:green;\">// Start connecting to the server</span>\r\n signalRConnection.Open();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:green;\">// Close the connection when the sample is closed</span>\r\n signalRConnection.Close();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Messages"</span>);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n messages.Draw(<span style=\"color:#2b91af;\">Screen</span>.width - 20, 0);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n });\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> SignalR Events\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Handle Server-sent messages</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> signalRConnection_OnNonHubMessage(<span style=\"color:#2b91af;\">Connection</span> connection, <span style=\"color:blue;\">object</span> data)\r\n {\r\n messages.Add(<span style=\"color:#a31515;\">"[Server Message] "</span> + data.ToString());\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Display state changes</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> signalRConnection_OnStateChanged(<span style=\"color:#2b91af;\">Connection</span> connection, <span style=\"color:#2b91af;\">ConnectionStates</span> oldState, <span style=\"color:#2b91af;\">ConnectionStates</span> newState)\r\n {\r\n messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"[State Change] {0} => {1}"</span>, oldState, newState));\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Display errors.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> signalRConnection_OnError(<span style=\"color:#2b91af;\">Connection</span> connection, <span style=\"color:blue;\">string</span> error)\r\n {\r\n messages.Add(<span style=\"color:#a31515;\">"[Error] "</span> + error);\r\n }\r\n\r\n<span style=\"color:blue;\"> #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> System;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR;\r\n<span style=\"color:blue;\">using</span> BestHTTP.Cookies;\r\n\r\n<span style=\"color:blue;\">public</span> <span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">ConnectionAPISample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:blue;\">readonly</span> <span style=\"color:#2b91af;\">Uri</span> URI = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">"http://besthttpsignalr.azurewebsites.net/raw-connection/"</span>);\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Possible message types that the client can send to the server</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">enum</span> <span style=\"color:#2b91af;\">MessageTypes</span>\r\n {\r\n Send, <span style=\"color:green;\">// 0</span>\r\n Broadcast, <span style=\"color:green;\">// 1</span>\r\n Join, <span style=\"color:green;\">// 2</span>\r\n PrivateMessage, <span style=\"color:green;\">// 3</span>\r\n AddToGroup, <span style=\"color:green;\">// 4</span>\r\n RemoveFromGroup, <span style=\"color:green;\">// 5</span>\r\n SendToGroup, <span style=\"color:green;\">// 6</span>\r\n BroadcastExceptMe, <span style=\"color:green;\">// 7</span>\r\n }\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Reference to the SignalR Connection</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Connection</span> signalRConnection;\r\n\r\n <span style=\"color:green;\">// Input strings</span>\r\n <span style=\"color:blue;\">string</span> ToEveryBodyText = <span style=\"color:blue;\">string</span>.Empty;\r\n <span style=\"color:blue;\">string</span> ToMeText = <span style=\"color:blue;\">string</span>.Empty;\r\n <span style=\"color:blue;\">string</span> PrivateMessageText = <span style=\"color:blue;\">string</span>.Empty;\r\n <span style=\"color:blue;\">string</span> PrivateMessageUserOrGroupName = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:#2b91af;\">GUIMessageList</span> messages = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">GUIMessageList</span>();\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> Start()\r\n {\r\n <span style=\"color:green;\">// Set a "user" cookie if we previously used the 'Enter Name' button.</span>\r\n <span style=\"color:green;\">// The server will set this username to the new connection.</span>\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">PlayerPrefs</span>.HasKey(<span style=\"color:#a31515;\">"userName"</span>))\r\n <span style=\"color:#2b91af;\">CookieJar</span>.Set(URI, <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Cookie</span>(<span style=\"color:#a31515;\">"user"</span>, <span style=\"color:#2b91af;\">PlayerPrefs</span>.GetString(<span style=\"color:#a31515;\">"userName"</span>)));\r\n\r\n signalRConnection = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Connection</span>(URI);\r\n\r\n <span style=\"color:green;\">// to serialize the Message class, set a more advanced json encoder</span>\r\n signalRConnection.JsonEncoder = <span style=\"color:blue;\">new</span> BestHTTP.SignalR.JsonEncoders.<span style=\"color:#2b91af;\">LitJsonEncoder</span>();\r\n\r\n <span style=\"color:green;\">// set up event handlers</span>\r\n signalRConnection.OnStateChanged += signalRConnection_OnStateChanged;\r\n signalRConnection.OnNonHubMessage += signalRConnection_OnGeneralMessage;\r\n\r\n <span style=\"color:green;\">// Start to connect to the server.</span>\r\n signalRConnection.Open();\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Draw the gui.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Get input strings.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Handle function calls.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n\r\n<span style=\"color:blue;\"> #region</span> To Everybody\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"To Everybody"</span>);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n \r\n ToEveryBodyText = <span style=\"color:#2b91af;\">GUILayout</span>.TextField(ToEveryBodyText, <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Broadcast"</span>))\r\n Broadcast(ToEveryBodyText);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Broadcast (All Except Me)"</span>))\r\n BroadcastExceptMe(ToEveryBodyText);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Enter Name"</span>))\r\n EnterName(ToEveryBodyText);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Join Group"</span>))\r\n JoinGroup(ToEveryBodyText);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Leave Group"</span>))\r\n LeaveGroup(ToEveryBodyText);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> To Me\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"To Me"</span>);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n\r\n ToMeText = <span style=\"color:#2b91af;\">GUILayout</span>.TextField(ToMeText, <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Send to me"</span>))\r\n SendToMe(ToMeText);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Message\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Private Message"</span>);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Message:"</span>);\r\n PrivateMessageText = <span style=\"color:#2b91af;\">GUILayout</span>.TextField(PrivateMessageText, <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"User or Group name:"</span>);\r\n PrivateMessageUserOrGroupName = <span style=\"color:#2b91af;\">GUILayout</span>.TextField(PrivateMessageUserOrGroupName, <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Send to user"</span>))\r\n SendToUser(PrivateMessageUserOrGroupName, PrivateMessageText);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Send to group"</span>))\r\n SendToGroup(PrivateMessageUserOrGroupName, PrivateMessageText);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n\r\n <span style=\"color:blue;\">if</span> (signalRConnection.State == <span style=\"color:#2b91af;\">ConnectionStates</span>.Closed)\r\n {\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Start Connection"</span>))\r\n signalRConnection.Open();\r\n }\r\n <span style=\"color:blue;\">else</span> <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Stop Connection"</span>))\r\n signalRConnection.Close();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n\r\n <span style=\"color:green;\">// Draw the messages</span>\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Messages"</span>);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n messages.Draw(<span style=\"color:#2b91af;\">Screen</span>.width - 20, 0);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n });\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:green;\">// Close the connection when the sample is closed</span>\r\n signalRConnection.Close();\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> SignalR Events\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Handle non-hub messages</span>\r\n [...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> System;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR.Hubs;\r\n\r\n<span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">ConnectionStatusSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:blue;\">readonly</span> <span style=\"color:#2b91af;\">Uri</span> URI = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">"http://besthttpsignalr.azurewebsites.net/signalr"</span>);\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Reference to the SignalR Connection</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Connection</span> signalRConnection;\r\n\r\n <span style=\"color:#2b91af;\">GUIMessageList</span> messages = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">GUIMessageList</span>();\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> Start()\r\n {\r\n <span style=\"color:green;\">// Connect to the StatusHub hub</span>\r\n signalRConnection = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Connection</span>(URI, <span style=\"color:#a31515;\">"StatusHub"</span>);\r\n\r\n <span style=\"color:green;\">// General events</span>\r\n signalRConnection.OnNonHubMessage += signalRConnection_OnNonHubMessage;\r\n signalRConnection.OnError += signalRConnection_OnError;\r\n signalRConnection.OnStateChanged += signalRConnection_OnStateChanged;\r\n\r\n <span style=\"color:green;\">// Set up a callback for Hub events</span>\r\n signalRConnection[<span style=\"color:#a31515;\">"StatusHub"</span>].OnMethodCall += statusHub_OnMethodCall;\r\n\r\n <span style=\"color:green;\">// Connect to the server</span>\r\n signalRConnection.Open();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:green;\">// Close the connection when we are closing the sample</span>\r\n signalRConnection.Close();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"START"</span>) && signalRConnection.State != <span style=\"color:#2b91af;\">ConnectionStates</span>.Connected)\r\n signalRConnection.Open();\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"STOP"</span>) && signalRConnection.State == <span style=\"color:#2b91af;\">ConnectionStates</span>.Connected)\r\n {\r\n signalRConnection.Close();\r\n messages.Clear();\r\n }\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"PING"</span>) && signalRConnection.State == <span style=\"color:#2b91af;\">ConnectionStates</span>.Connected)\r\n {\r\n <span style=\"color:green;\">// Call a Hub-method on the server.</span>\r\n signalRConnection[<span style=\"color:#a31515;\">"StatusHub"</span>].Call(<span style=\"color:#a31515;\">"Ping"</span>);\r\n }\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Connection Status Messages"</span>);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n messages.Draw(<span style=\"color:#2b91af;\">Screen</span>.width - 20, 0);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n });\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> SignalR Events\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called on server-sent non-hub messages.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> signalRConnection_OnNonHubMessage(<span style=\"color:#2b91af;\">Connection</span> manager, <span style=\"color:blue;\">object</span> data)\r\n {\r\n messages.Add(<span style=\"color:#a31515;\">"[Server Message] "</span> + data.ToString());\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called when the SignalR Connection's state changes.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> signalRConnection_OnStateChanged(<span style=\"color:#2b91af;\">Connection</span> manager, <span style=\"color:#2b91af;\">ConnectionStates</span> oldState, <span style=\"color:#2b91af;\">ConnectionStates</span> newState)\r\n {\r\n messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"[State Change] {0} => {1}"</span>, oldState, newState));\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called when an error occures. The plugin may close the connection after this event.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> signalRConnection_OnError(<span style=\"color:#2b91af;\">Connection</span> manager, <span style=\"color:blue;\">string</span> error)\r\n {\r\n messages.Add(<span style=\"color:#a31515;\">"[Error] "</span> + error);\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called when the "StatusHub" hub wants to call a method on this client.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> statusHub_OnMethodCall(<span style=\"color:#2b91af;\">Hub</span> hub, <span style=\"color:blue;\">string</span> method, <span style=\"color:blue;\">params</span> <span style=\"color:blue;\">object</span>[] args)\r\n {\r\n <span style=\"color:blue;\">string</span> id = args.Length > 0 ? args[0] <span style=\"color:blue;\">as</span> <span style=\"color:blue;\">string</span> : <span style=\"color:blue;\">string</span>.Empty;\r\n <span style=\"color:blue;\">string</span> when = args.Length > 1 ? args[1].ToString() : <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:blue;\">switch</span> (method)\r\n {\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#a31515;\">"joined"</span>:\r\n messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"[{0}] {1} joined at {2}"</span>, hub.Name, id, when));\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#a31515;\">"rejoined"</span>:\r\n messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"[{0}] {1} reconnected at {2}"</span>, hub.Name, id, when));\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#a31515;\">"leave"</span>:\r\n messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"[{0}] {1} leaved at {2}"</span>, hub.Name, id, when));\r\n <span style=\"color:blue;\">break</span>;\r\n\r\n <span style=\"color:blue;\">default</span>: <span style=\"color:green;\">// pong</span>\r\n messages.Add(<span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"[{0}] {1}"</span>, hub.Name, method));\r\n <span style=\"color:blue;\">break</span>;\r\n }\r\n }\r\n\r\n<span style=\"color:blue;\"> #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> System;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR.Hubs;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR.Messages;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR.JsonEncoders;\r\n\r\n<span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">DemoHubSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:blue;\">readonly</span> <span style=\"color:#2b91af;\">Uri</span> URI = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">"http://besthttpsignalr.azurewebsites.net/signalr"</span>);\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The SignalR connection instance</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Connection</span> signalRConnection;\r\n \r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> DemoHub client side implementation</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">DemoHub</span> demoHub;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> TypedDemoHub client side implementation</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">TypedDemoHub</span> typedDemoHub;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> VB .NET Hub</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Hub</span> vbDemoHub;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Result of the VB demo's ReadStateValue call</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">string</span> vbReadStateResult = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:#2b91af;\">Vector2</span> scrollPos; \r\n\r\n <span style=\"color:blue;\">void</span> Start()\r\n {\r\n <span style=\"color:green;\">// Create the hubs</span>\r\n demoHub = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">DemoHub</span>();\r\n typedDemoHub = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">TypedDemoHub</span>();\r\n vbDemoHub = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Hub</span>(<span style=\"color:#a31515;\">"vbdemo"</span>);\r\n\r\n <span style=\"color:green;\">// Create the SignalR connection, passing all the three hubs to it</span>\r\n signalRConnection = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Connection</span>(URI, demoHub, typedDemoHub, vbDemoHub);\r\n\r\n <span style=\"color:green;\">// Switch from the default encoder to the LitJson Encoder becouse it can handle the complex types too.</span>\r\n signalRConnection.JsonEncoder = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">LitJsonEncoder</span>();\r\n\r\n <span style=\"color:green;\">// Call the demo functions when we successfully connect to the server</span>\r\n signalRConnection.OnConnected += (connection) =>\r\n {\r\n <span style=\"color:blue;\">var</span> person = <span style=\"color:blue;\">new</span> { Name = <span style=\"color:#a31515;\">"Foo"</span>, Age = 20, Address = <span style=\"color:blue;\">new</span> { Street = <span style=\"color:#a31515;\">"One Microsoft Way"</span>, Zip = <span style=\"color:#a31515;\">"98052"</span> } };\r\n\r\n <span style=\"color:green;\">// Call the demo functions</span>\r\n\r\n demoHub.ReportProgress(<span style=\"color:#a31515;\">"Long running job!"</span>);\r\n demoHub.AddToGroups();\r\n demoHub.GetValue();\r\n demoHub.TaskWithException();\r\n demoHub.GenericTaskWithException();\r\n demoHub.SynchronousException();\r\n demoHub.DynamicTask();\r\n demoHub.PassingDynamicComplex(person);\r\n demoHub.SimpleArray(<span style=\"color:blue;\">new</span> <span style=\"color:blue;\">int</span>[] { 5, 5, 6 });\r\n demoHub.ComplexType(person);\r\n demoHub.ComplexArray(<span style=\"color:blue;\">new</span> <span style=\"color:blue;\">object</span>[] { person, person, person });\r\n\r\n demoHub.Overload();\r\n\r\n <span style=\"color:green;\">// set some state</span>\r\n demoHub.State[<span style=\"color:#a31515;\">"name"</span>] = <span style=\"color:#a31515;\">"Testing state!"</span>;\r\n demoHub.ReadStateValue();\r\n\r\n demoHub.PlainTask();\r\n demoHub.GenericTaskWithContinueWith();\r\n\r\n typedDemoHub.Echo(<span style=\"color:#a31515;\">"Typed echo callback"</span>);\r\n\r\n <span style=\"color:green;\">// vbDemo is not wrapped in a hub class, it would contain only one function</span>\r\n vbDemoHub.Call(<span style=\"color:#a31515;\">"readStateValue"</span>, (hub, msg, result) => vbReadStateResult = <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"Read some state from VB.NET! => {0}"</span>, result.ReturnValue == <span style=\"color:blue;\">null</span> ? <span style=\"color:#a31515;\">"undefined"</span> : result.ReturnValue.ToString()));\r\n };\r\n\r\n <span style=\"color:green;\">// Start opening the signalR connection</span>\r\n signalRConnection.Open();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:green;\">// Close the connection when we are closing this sample</span>\r\n signalRConnection.Close();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n scrollPos = <span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos, <span style=\"color:blue;\">false</span>, <span style=\"color:blue;\">false</span>);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n\r\n demoHub.Draw();\r\n\r\n typedDemoHub.Draw();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Read State Value"</span>);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(20);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(vbReadStateResult);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n });\r\n\r\n }\r\n}\r\n\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\"> Wrapper class of the 'TypedDemoHub' hub</span>\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n<span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">TypedDemoHub</span> : <span style=\"color:#2b91af;\">Hub</span>\r\n{\r\n <span style=\"color:blue;\">string</span> typedEchoResult = <span style=\"color:blue;\">string</span>.Empty;\r\n <span style=\"color:blue;\">string</span> typedEchoClientResult = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:blue;\">public</span> TypedDemoHub()\r\n :<span style=\"color:blue;\">base</span>(<span style=\"color:#a31515;\">"typeddemohub"</span>)\r\n {\r\n\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called by the Connection class to be able to set up mappings.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">public</span> <span style=\"color:blue;\">override</span> <span style=\"color:blue;\">void</span> Setup()\r\n {\r\n <span style=\"color:green;\">// Setup server-called functions</span>\r\n <span style=\"color:blue;\">base</span>.On(<span style=\"color:#a31515;\">"Echo"</span>, Echo);\r\n }\r\n\r\n<span style=\"color:blue;\"> #region</span> Server Called Functions\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Server-called, client side implementation of the Echo function</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">void</span> Echo(<span style=\"color:#2b91af;\">Hub</span> hub, <span style=\"color:#2b91af;\">MethodCallMessage</span> methodCall)\r\n {\r\n typedEchoClientResult = <span style=\"color:blue;\">string</span>.Format(<span style=\"color:#a31515;\">"{0} #{1} triggered!"</span>, methodCall.Arguments[0], methodCall.Arguments[1]);\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Client Called Function(s)\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Client-called, server side implementation of the Echo function.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> When the function successfully executed on the server the OnEcho_Done callback function will be called.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">public</span> <span style=\"color:blue;\">void</span> Echo(<span style=\"color:blue;\">string</span> msg)\r\n {\r\n <span style=\"color:blue;\">base</span>.Call(<span style=\"color:#a31515;\">"echo"</span>, OnEcho_Done, msg);\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> When the function successfully executed on the server this callback function will be called.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">void</span> OnEcho_Done(<span style=\"color:#2b91af;\">Hub</span> hub, <span style=\"color:#2b91af;\">ClientMessage</span> originalMessage, <span style=\"color:#2b91af;\">ResultMessage</span> result)\r\n {\r\n typedEchoResult = <span style=\"color:#a31515;\">"TypedDemoHub.Echo(string message) invoked!"</span>;\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n <span style=\"color:blue;\">public</span> <span style=\"color:blue;\">void</span> Draw()\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Typed callback"</span>);\r\n\r\n &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> System;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR.Hubs;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR.Messages;\r\n<span style=\"color:blue;\">using</span> BestHTTP.SignalR.Authentication;\r\n\r\n<span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">AuthenticationSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:blue;\">readonly</span> <span style=\"color:#2b91af;\">Uri</span> URI = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Uri</span>(<span style=\"color:#a31515;\">"https://besthttpsignalr.azurewebsites.net/signalr"</span>);\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Reference to the SignalR Connection</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">Connection</span> signalRConnection;\r\n\r\n <span style=\"color:blue;\">string</span> userName = <span style=\"color:blue;\">string</span>.Empty;\r\n <span style=\"color:blue;\">string</span> role = <span style=\"color:blue;\">string</span>.Empty;\r\n\r\n <span style=\"color:#2b91af;\">Vector2</span> scrollPos;\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> Start()\r\n {\r\n <span style=\"color:green;\">// Create the SignalR connection, and pass the hubs that we want to connect to</span>\r\n signalRConnection = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">Connection</span>(URI, <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">"noauthhub"</span>, <span style=\"color:#a31515;\">"Messages"</span>),\r\n <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">"invokeauthhub"</span>, <span style=\"color:#a31515;\">"Messages Invoked By Admin or Invoker"</span>),\r\n <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">"authhub"</span>, <span style=\"color:#a31515;\">"Messages Requiring Authentication to Send or Receive"</span>),\r\n <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">"inheritauthhub"</span>, <span style=\"color:#a31515;\">"Messages Requiring Authentication to Send or Receive Because of Inheritance"</span>),\r\n <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">"incomingauthhub"</span>, <span style=\"color:#a31515;\">"Messages Requiring Authentication to Send"</span>),\r\n <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">"adminauthhub"</span>, <span style=\"color:#a31515;\">"Messages Requiring Admin Membership to Send or Receive"</span>), \r\n <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">BaseHub</span>(<span style=\"color:#a31515;\">"userandroleauthhub"</span>, <span style=\"color:#a31515;\">"Messages Requiring Name to be \\"User\\" and Role to be \\"Admin\\" to Send or Receive"</span>));\r\n \r\n <span style=\"color:green;\">// Set the authenticator if we have valid fields</span>\r\n <span style=\"color:blue;\">if</span> (!<span style=\"color:blue;\">string</span>.IsNullOrEmpty(userName) && !<span style=\"color:blue;\">string</span>.IsNullOrEmpty(role))\r\n signalRConnection.AuthenticationProvider = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">HeaderAuthenticator</span>(userName, role);\r\n\r\n <span style=\"color:green;\">// Set up event handler</span>\r\n signalRConnection.OnConnected += signalRConnection_OnConnected;\r\n\r\n <span style=\"color:green;\">// Start to connect to the server.</span>\r\n signalRConnection.Open();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnDestroy()\r\n {\r\n <span style=\"color:green;\">// Close the connection when we are closing the sample</span>\r\n signalRConnection.Close();\r\n }\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n scrollPos = <span style=\"color:#2b91af;\">GUILayout</span>.BeginScrollView(scrollPos, <span style=\"color:blue;\">false</span>, <span style=\"color:blue;\">false</span>);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginVertical();\r\n\r\n <span style=\"color:blue;\">if</span> (signalRConnection.AuthenticationProvider == <span style=\"color:blue;\">null</span>)\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Username (Enter 'User'):"</span>);\r\n userName = <span style=\"color:#2b91af;\">GUILayout</span>.TextField(userName, <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Roles (Enter 'Invoker' or 'Admin'):"</span>);\r\n role = <span style=\"color:#2b91af;\">GUILayout</span>.TextField(role, <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Log in"</span>))\r\n Restart();\r\n }\r\n\r\n <span style=\"color:blue;\">for</span> (<span style=\"color:blue;\">int</span> i = 0; i < signalRConnection.Hubs.Length; ++i)\r\n (signalRConnection.Hubs[i] <span style=\"color:blue;\">as</span> <span style=\"color:#2b91af;\">BaseHub</span>).Draw();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndVertical();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndScrollView();\r\n });\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called when we successfully connected to the server.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> signalRConnection_OnConnected(<span style=\"color:#2b91af;\">Connection</span> manager)\r\n {\r\n <span style=\"color:green;\">// call 'InvokedFromClient' on all hubs</span>\r\n <span style=\"color:blue;\">for</span> (<span style=\"color:blue;\">int</span> i = 0; i < signalRConnection.Hubs.Length; ++i)\r\n (signalRConnection.Hubs[i] <span style=\"color:blue;\">as</span> <span style=\"color:#2b91af;\">BaseHub</span>).InvokedFromClient();\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Helper function to do a hard-restart to the server.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">void</span> Restart()\r\n {\r\n <span style=\"color:green;\">// Clean up</span>\r\n signalRConnection.OnConnected -= signalRConnection_OnConnected;\r\n\r\n <span style=\"color:green;\">// Close current connection</span>\r\n signalRConnection.Close();\r\n signalRConnection = <span style=\"color:blue;\">null</span>;\r\n\r\n <span style=\"color:green;\">// start again, with authentication if we filled in all input fields</span>\r\n Start();\r\n\r\n }\r\n}\r\n\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\"> Hub implementation for the authentication demo. All hubs that we connect to has the same server and client side functions.</span>\r\n<span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n<span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">BaseHub</span> : <span style=\"color:#2b91af;\">Hub</span>\r\n{\r\n<span style=\"color:blue;\"> #region</span> Private Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Hub specific title</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">string</span> Title;\r\n\r\n <span style=\"color:blue;\">private</span> <span style=\"color:#2b91af;\">GUIMessageList</span> messages = <span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">GUIMessageList</span>();\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n <span style=\"color:blue;\">public</span> BaseHub(<span style=\"color:blue;\">string</span> name, <span style=\"color:blue;\">string</span> title)\r\n : <span style=\"color:blue;\">base</span>(name)\r\n {\r\n <span style=\"color:blue;\">this</span>.Title = title;\r\n }\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> Called by the Connection class to be able to set up mappings.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">public</span> <span style=\"color:blue;\">override</span> <span style=\"color:blue;\">void</span> Setup()\r\n {\r\n <span style=\"color:green;\">// Map the server-callable method names to the real functions.</span>\r\n On(<span style=\"color:#a31515;\">"joined"</span>, Joined);\r\n On(<span style=\"color:#a31515;\">"rejoined"</span>, Rejoined);\r\n On(<span style=\"color:#a31515;\">"left"</span>, Left);\r\n On(<span style=\"color:#a31515;\">"invoked"</span>, Invoked);\r\n }\r\n\r\n<span style=\"color:blue;\"> #region</span> Server Called Functions\r\n\r\n <span style=\"color:blue;\">private</span> <span style=\"color:blue;\">void</span> Joined(<span style=\"color:#2b91af;\">Hub</span> hub, <span style=\"color:#2b91af;\">MethodCallMessage</span> methodCall)\r\n {\r\n <span style=\"color:#2b91af;\">Dictionary</span><<span style=\"color:blue;\">string</span>, <span style=\"color:blue;\">object</span>> AuthInfo = methodCall.Arguments[2] <span style=\"color:blue;\">as</span> <span style=\"color:#2b91af;\">Dictionary</span><<span style=\"color:blue;\">string</span>, <span style=\"color:blue;\">object</span>>;\r\n 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> System;\r\n<span style=\"color:blue;\">using</span> System.Collections.Generic;\r\n\r\n<span style=\"color:blue;\">using</span> UnityEngine;\r\n<span style=\"color:blue;\">using</span> BestHTTP;\r\n<span style=\"color:blue;\">using</span> BestHTTP.Caching;\r\n\r\n<span style=\"color:blue;\">public</span> <span style=\"color:blue;\">sealed</span> <span style=\"color:blue;\">class</span> <span style=\"color:#2b91af;\">CacheMaintenanceSample</span> : <span style=\"color:#2b91af;\">MonoBehaviour</span>\r\n{\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> An enum for better readability</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">enum</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>\r\n {\r\n Days,\r\n Hours,\r\n Mins,\r\n Secs\r\n };\r\n\r\n<span style=\"color:blue;\"> #region</span> Private Fields\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> What methode to call on the TimeSpan</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:#2b91af;\">DeleteOlderTypes</span> deleteOlderType = <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Secs;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> The value for the TimeSpan.</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">int</span> value = 10;\r\n\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"><summary></span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> What's our maximum cache size</span>\r\n <span style=\"color:gray;\">///</span><span style=\"color:green;\"> </span><span style=\"color:gray;\"></summary></span>\r\n <span style=\"color:blue;\">int</span> maxCacheSize = 5 * 1024 * 1024;\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n\r\n<span style=\"color:blue;\"> #region</span> Unity Events\r\n\r\n <span style=\"color:blue;\">void</span> OnGUI()\r\n {\r\n <span style=\"color:#2b91af;\">GUIHelper</span>.DrawArea(<span style=\"color:#2b91af;\">GUIHelper</span>.ClientArea, <span style=\"color:blue;\">true</span>, () =>\r\n {\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n \r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Delete cached entities older then"</span>);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(value.ToString(), <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(50));\r\n value = (<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(value, 1, 60, <span style=\"color:#2b91af;\">GUILayout</span>.MinWidth(100));\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n deleteOlderType = (<span style=\"color:#2b91af;\">DeleteOlderTypes</span>)(<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.SelectionGrid((<span style=\"color:blue;\">int</span>)deleteOlderType, <span style=\"color:blue;\">new</span> <span style=\"color:blue;\">string</span>[] { <span style=\"color:#a31515;\">"Days"</span>, <span style=\"color:#a31515;\">"Hours"</span>, <span style=\"color:#a31515;\">"Mins"</span>, <span style=\"color:#a31515;\">"Secs"</span> }, 4);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.FlexibleSpace();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.BeginHorizontal();\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(<span style=\"color:#a31515;\">"Max Cache Size (bytes): "</span>, <span style=\"color:#2b91af;\">GUILayout</span>.Width(150));\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Label(maxCacheSize.ToString(<span style=\"color:#a31515;\">"N0"</span>), <span style=\"color:#2b91af;\">GUILayout</span>.Width(70));\r\n maxCacheSize = (<span style=\"color:blue;\">int</span>)<span style=\"color:#2b91af;\">GUILayout</span>.HorizontalSlider(maxCacheSize, 1024, 10 * 1024 * 1024);\r\n <span style=\"color:#2b91af;\">GUILayout</span>.EndHorizontal();\r\n\r\n <span style=\"color:#2b91af;\">GUILayout</span>.Space(10);\r\n\r\n <span style=\"color:blue;\">if</span> (<span style=\"color:#2b91af;\">GUILayout</span>.Button(<span style=\"color:#a31515;\">"Maintenance"</span>))\r\n {\r\n <span style=\"color:#2b91af;\">TimeSpan</span> deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromDays(14);\r\n\r\n <span style=\"color:blue;\">switch</span> (deleteOlderType)\r\n {\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Days: deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromDays(value); <span style=\"color:blue;\">break</span>;\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Hours: deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromHours(value); <span style=\"color:blue;\">break</span>;\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Mins: deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromMinutes(value); <span style=\"color:blue;\">break</span>;\r\n <span style=\"color:blue;\">case</span> <span style=\"color:#2b91af;\">DeleteOlderTypes</span>.Secs: deleteOlder = <span style=\"color:#2b91af;\">TimeSpan</span>.FromSeconds(value); <span style=\"color:blue;\">break</span>;\r\n }\r\n\r\n <span style=\"color:green;\">// Call the BeginMaintainence function. It will run on a thread to do not block the main thread.</span>\r\n <span style=\"color:#2b91af;\">HTTPCacheService</span>.BeginMaintainence(<span style=\"color:blue;\">new</span> <span style=\"color:#2b91af;\">HTTPCacheMaintananceParams</span>(deleteOlder, (<span style=\"color:blue;\">ulong</span>)maxCacheSize));\r\n }\r\n });\r\n }\r\n\r\n<span style=\"color:blue;\"> #endregion</span>\r\n}</pre>";
|
|
}
|
|
}
|