using System; using System.Runtime.InteropServices; using BestHTTP.WebSocket; using Cpp2IlInjected; using UnityEngine; namespace BestHTTP.Examples { // Token: 0x020012CD RID: 4813 [Token(Token = "0x20012CD")] [StructLayout(3)] public class WebSocketSample : MonoBehaviour { // Token: 0x060078A8 RID: 30888 RVA: 0x001914C4 File Offset: 0x0018F6C4 [Token(Token = "0x60078A8")] [Address(RVA = "0x1E6D330", Offset = "0x1E6BD30", VA = "0x181E6D330")] private void OnDestroy() { WebSocket webSocket = this.webSocket; if (webSocket != 0) { webSocket.Close(); return; } } // Token: 0x060078A9 RID: 30889 RVA: 0x001914E4 File Offset: 0x0018F6E4 [Token(Token = "0x60078A9")] [Address(RVA = "0x1E6D490", Offset = "0x1E6BE90", VA = "0x181E6D490")] private void OnGUI() { Rect clientArea = GUIHelper.ClientArea; Action action = delegate { WebSocket webSocket5; Delegate delegate4; for (;;) { GUILayoutOption[] array = Array.Empty(); string text = this.Text; Vector2 vector; this.scrollPos = vector; this.scrollPos.y = (float)0; GUILayoutOption[] array2 = Array.Empty(); GUILayout.Label(text, array2); GUILayout.EndScrollView(); GUILayout.Space(5f); GUILayout.FlexibleSpace(); string text2 = this.address; GUILayoutOption[] array3 = Array.Empty(); string text3 = GUILayout.TextField(text2, array3); this.address = text3; if (this.webSocket != (ulong)0L) { goto IL_1F1; } GUILayoutOption[] array4 = Array.Empty(); if (!GUILayout.Button("Open Web Socket", array4)) { goto IL_1F1; } WebSocket webSocket = new WebSocket(new Uri(this.address)); this.webSocket = webSocket; webSocket.k__BackingField = true; if (webSocket != 0) { HTTPProxy httpproxy; this.webSocket.k__BackingField.k__BackingField = httpproxy; } WebSocket webSocket2 = this.webSocket; OnWebSocketOpenDelegate onOpen = webSocket2.OnOpen; OnWebSocketOpenDelegate onWebSocketOpenDelegate = new OnWebSocketOpenDelegate(this.OnOpen); Delegate @delegate = Delegate.Combine(onOpen, onWebSocketOpenDelegate); if (@delegate == 0 || @delegate != 0) { webSocket2.OnOpen = @delegate; WebSocket webSocket3 = this.webSocket; OnWebSocketMessageDelegate onMessage = webSocket3.OnMessage; OnWebSocketMessageDelegate onWebSocketMessageDelegate = new OnWebSocketMessageDelegate(this.OnMessageReceived); Delegate delegate2 = Delegate.Combine(onMessage, onWebSocketMessageDelegate); if (delegate2 == 0 || delegate2 != 0) { webSocket3.OnMessage = delegate2; WebSocket webSocket4 = this.webSocket; OnWebSocketClosedDelegate onClosed = webSocket4.OnClosed; OnWebSocketClosedDelegate onWebSocketClosedDelegate = new OnWebSocketClosedDelegate(this.OnClosed); Delegate delegate3 = Delegate.Combine(onClosed, onWebSocketClosedDelegate); if (delegate3 == 0 || delegate3 != 0) { webSocket4.OnClosed = delegate3; webSocket5 = this.webSocket; OnWebSocketErrorDelegate onError = webSocket5.OnError; OnWebSocketErrorDelegate onWebSocketErrorDelegate = new OnWebSocketErrorDelegate(this.OnError); delegate4 = Delegate.Combine(onError, onWebSocketErrorDelegate); if (delegate4 == 0 || delegate4 != 0) { break; } } } } } webSocket5.OnError = delegate4; this.webSocket.Open(); string text4 = this.Text + "Opening Web Socket...\n"; this.Text = text4; IL_1F1: WebSocket webSocket6 = this.webSocket; if (webSocket6 != 0 && webSocket6.IsOpen) { GUILayout.Space(10f); GUILayout.BeginHorizontal(Array.Empty()); string text5 = this.msgToSend; GUILayoutOption[] array5 = Array.Empty(); string text6 = GUILayout.TextField(text5, array5); this.msgToSend = text6; GUILayout.EndHorizontal(); GUILayoutOption[] array6 = new GUILayoutOption[1]; GUILayoutOption guilayoutOption = GUILayout.MaxWidth(70f); if (guilayoutOption != 0) { } array6[0] = guilayoutOption; if (GUILayout.Button("Send", array6)) { string text7 = this.Text + "Sending message...\n"; WebSocket webSocket7 = this.webSocket; this.Text = text7; string text8 = this.msgToSend; webSocket7.Send(text8); } GUILayout.Space(10f); GUILayoutOption[] array7 = Array.Empty(); if (GUILayout.Button("Close", array7)) { WebSocket webSocket8 = this.webSocket; } } }; GUIHelper.DrawArea(clientArea, true, action); } // Token: 0x060078AA RID: 30890 RVA: 0x0019150C File Offset: 0x0018F70C [Token(Token = "0x60078AA")] [Address(RVA = "0x1E6D5B0", Offset = "0x1E6BFB0", VA = "0x181E6D5B0")] private void OnOpen(WebSocket ws) { string text = this.Text; object[] array = Array.Empty(); string text2 = string.Format("-WebSocket Open!\n", array); string text3 = text + text2; this.Text = text3; } // Token: 0x060078AB RID: 30891 RVA: 0x00191544 File Offset: 0x0018F744 [Token(Token = "0x60078AB")] [Address(RVA = "0x1E6D540", Offset = "0x1E6BF40", VA = "0x181E6D540")] private void OnMessageReceived(WebSocket ws, string message) { string text = this.Text; string text2 = string.Format("-Message received: {0}\n", message); string text3 = text + text2; this.Text = text3; } // Token: 0x060078AC RID: 30892 RVA: 0x00191574 File Offset: 0x0018F774 [Token(Token = "0x60078AC")] [Address(RVA = "0x1E6D290", Offset = "0x1E6BC90", VA = "0x181E6D290")] private void OnClosed(WebSocket ws, ushort code, string message) { string text = this.Text; string text2 = string.Format("-WebSocket closed! Code: {0} Message: {1}\n", code, message); string text3 = text + text2; this.Text = text3; this.webSocket = (ulong)0L; } // Token: 0x060078AD RID: 30893 RVA: 0x001915B0 File Offset: 0x0018F7B0 [Token(Token = "0x60078AD")] [Address(RVA = "0x1E6D350", Offset = "0x1E6BD50", VA = "0x181E6D350")] private void OnError(WebSocket ws, Exception ex) { HTTPResponse k__BackingField = ws.k__BackingField.k__BackingField; if (k__BackingField != 0) { int k__BackingField = k__BackingField.k__BackingField; string k__BackingField = ws.k__BackingField.k__BackingField.k__BackingField; string text = string.Format("Status Code from Server: {0} and Message: {1}", k__BackingField, k__BackingField); } string text2 = this.Text; if (ex != 0) { } string text4; string text3 = string.Format("-An error occured: {0}\n", text4); string text5 = text2 + text3; this.Text = text5; this.webSocket = (ulong)0L; } // Token: 0x060078AE RID: 30894 RVA: 0x00191630 File Offset: 0x0018F830 [Token(Token = "0x60078AE")] [Address(RVA = "0x1E6DBD0", Offset = "0x1E6C5D0", VA = "0x181E6DBD0")] public WebSocketSample() { string empty = string.Empty; this.Text = empty; base..ctor(); } // Token: 0x04005702 RID: 22274 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4005702")] private string address = "wss://echo.websocket.org"; // Token: 0x04005703 RID: 22275 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4005703")] private string msgToSend = "Hello World!"; // Token: 0x04005704 RID: 22276 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4005704")] private string Text; // Token: 0x04005705 RID: 22277 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4005705")] private WebSocket webSocket; // Token: 0x04005706 RID: 22278 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4005706")] private Vector2 scrollPos; } }