Files
2026-04-08 23:40:05 +02:00

237 lines
8.0 KiB
C#

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<GUILayoutOption>();
string text = this.Text;
Vector2 vector;
this.scrollPos = vector;
this.scrollPos.y = (float)0;
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
GUILayout.Label(text, array2);
GUILayout.EndScrollView();
GUILayout.Space(5f);
GUILayout.FlexibleSpace();
string text2 = this.address;
GUILayoutOption[] array3 = Array.Empty<GUILayoutOption>();
string text3 = GUILayout.TextField(text2, array3);
this.address = text3;
if (this.webSocket != (ulong)0L)
{
goto IL_1F1;
}
GUILayoutOption[] array4 = Array.Empty<GUILayoutOption>();
if (!GUILayout.Button("Open Web Socket", array4))
{
goto IL_1F1;
}
WebSocket webSocket = new WebSocket(new Uri(this.address));
this.webSocket = webSocket;
webSocket.<StartPingThread>k__BackingField = true;
if (webSocket != 0)
{
HTTPProxy httpproxy;
this.webSocket.<InternalRequest>k__BackingField.<Proxy>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<GUILayoutOption>());
string text5 = this.msgToSend;
GUILayoutOption[] array5 = Array.Empty<GUILayoutOption>();
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<GUILayoutOption>();
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<object>();
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 <Response>k__BackingField = ws.<InternalRequest>k__BackingField.<Response>k__BackingField;
if (<Response>k__BackingField != 0)
{
int <StatusCode>k__BackingField = <Response>k__BackingField.<StatusCode>k__BackingField;
string <Message>k__BackingField = ws.<InternalRequest>k__BackingField.<Response>k__BackingField.<Message>k__BackingField;
string text = string.Format("Status Code from Server: {0} and Message: {1}", <StatusCode>k__BackingField, <Message>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;
}
}