This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -0,0 +1,27 @@
using System;
using UnityEngine.Events;
namespace UnityEngine.Networking.PlayerConnection
{
// Token: 0x020004CB RID: 1227
internal interface IEditorPlayerConnection
{
// Token: 0x06003BCF RID: 15311
void Register(Guid messageId, UnityAction<MessageEventArgs> callback);
// Token: 0x06003BD0 RID: 15312
void Unregister(Guid messageId, UnityAction<MessageEventArgs> callback);
// Token: 0x06003BD1 RID: 15313
void DisconnectAll();
// Token: 0x06003BD2 RID: 15314
void RegisterConnection(UnityAction<int> callback);
// Token: 0x06003BD3 RID: 15315
void RegisterDisconnection(UnityAction<int> callback);
// Token: 0x06003BD4 RID: 15316
void Send(Guid messageId, byte[] data);
}
}
@@ -0,0 +1,15 @@
using System;
namespace UnityEngine.Networking.PlayerConnection
{
// Token: 0x020004CA RID: 1226
[Serializable]
public class MessageEventArgs
{
// Token: 0x040011F6 RID: 4598
public int playerId;
// Token: 0x040011F7 RID: 4599
public byte[] data;
}
}
@@ -0,0 +1,168 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using UnityEngine.Events;
using UnityEngine.Scripting;
namespace UnityEngine.Networking.PlayerConnection
{
// Token: 0x020004CC RID: 1228
[Serializable]
public class PlayerConnection : ScriptableObject, IEditorPlayerConnection
{
// Token: 0x17000D8A RID: 3466
// (get) Token: 0x06003BD6 RID: 15318 RVA: 0x00069198 File Offset: 0x00067398
public static PlayerConnection instance
{
get
{
PlayerConnection playerConnection;
if (PlayerConnection.s_Instance == null)
{
playerConnection = PlayerConnection.CreateInstance();
}
else
{
playerConnection = PlayerConnection.s_Instance;
}
return playerConnection;
}
}
// Token: 0x17000D8B RID: 3467
// (get) Token: 0x06003BD7 RID: 15319 RVA: 0x000691D0 File Offset: 0x000673D0
public bool isConnected
{
get
{
return this.GetConnectionNativeApi().IsConnected();
}
}
// Token: 0x06003BD8 RID: 15320 RVA: 0x000691F0 File Offset: 0x000673F0
private static PlayerConnection CreateInstance()
{
PlayerConnection.s_Instance = ScriptableObject.CreateInstance<PlayerConnection>();
PlayerConnection.s_Instance.hideFlags = HideFlags.HideAndDontSave;
return PlayerConnection.s_Instance;
}
// Token: 0x06003BD9 RID: 15321 RVA: 0x00069220 File Offset: 0x00067420
public void OnEnable()
{
if (!this.m_IsInitilized)
{
this.m_IsInitilized = true;
this.GetConnectionNativeApi().Initialize();
}
}
// Token: 0x06003BDA RID: 15322 RVA: 0x00069248 File Offset: 0x00067448
private IPlayerEditorConnectionNative GetConnectionNativeApi()
{
return PlayerConnection.connectionNative ?? new PlayerConnectionInternal();
}
// Token: 0x06003BDB RID: 15323 RVA: 0x00069270 File Offset: 0x00067470
public void Register(Guid messageId, UnityAction<MessageEventArgs> callback)
{
if (messageId == Guid.Empty)
{
throw new ArgumentException("Cant be Guid.Empty", "messageId");
}
if (!this.m_PlayerEditorConnectionEvents.messageTypeSubscribers.Any<PlayerEditorConnectionEvents.MessageTypeSubscribers>())
{
this.GetConnectionNativeApi().RegisterInternal(messageId);
}
this.m_PlayerEditorConnectionEvents.AddAndCreate(messageId).AddListener(callback);
}
// Token: 0x06003BDC RID: 15324 RVA: 0x000692D4 File Offset: 0x000674D4
public void Unregister(Guid messageId, UnityAction<MessageEventArgs> callback)
{
this.m_PlayerEditorConnectionEvents.UnregisterManagedCallback(messageId, callback);
if (!this.m_PlayerEditorConnectionEvents.messageTypeSubscribers.Any((PlayerEditorConnectionEvents.MessageTypeSubscribers x) => x.MessageTypeId == messageId))
{
this.GetConnectionNativeApi().UnregisterInternal(messageId);
}
}
// Token: 0x06003BDD RID: 15325 RVA: 0x00069338 File Offset: 0x00067538
public void RegisterConnection(UnityAction<int> callback)
{
foreach (int num in this.m_connectedPlayers)
{
callback(num);
}
this.m_PlayerEditorConnectionEvents.connectionEvent.AddListener(callback);
}
// Token: 0x06003BDE RID: 15326 RVA: 0x000693AC File Offset: 0x000675AC
public void RegisterDisconnection(UnityAction<int> callback)
{
this.m_PlayerEditorConnectionEvents.disconnectionEvent.AddListener(callback);
}
// Token: 0x06003BDF RID: 15327 RVA: 0x000693C0 File Offset: 0x000675C0
public void Send(Guid messageId, byte[] data)
{
if (messageId == Guid.Empty)
{
throw new ArgumentException("Cant be Guid.Empty", "messageId");
}
this.GetConnectionNativeApi().SendMessage(messageId, data, 0);
}
// Token: 0x06003BE0 RID: 15328 RVA: 0x000693F4 File Offset: 0x000675F4
public void DisconnectAll()
{
this.GetConnectionNativeApi().DisconnectAll();
}
// Token: 0x06003BE1 RID: 15329 RVA: 0x00069404 File Offset: 0x00067604
[RequiredByNativeCode]
private static void MessageCallbackInternal(IntPtr data, ulong size, ulong guid, string messageId)
{
byte[] array = null;
if (size > 0UL)
{
array = new byte[size];
Marshal.Copy(data, array, 0, (int)size);
}
PlayerConnection.instance.m_PlayerEditorConnectionEvents.InvokeMessageIdSubscribers(new Guid(messageId), array, (int)guid);
}
// Token: 0x06003BE2 RID: 15330 RVA: 0x00069448 File Offset: 0x00067648
[RequiredByNativeCode]
private static void ConnectedCallbackInternal(int playerId)
{
PlayerConnection.instance.m_connectedPlayers.Add(playerId);
PlayerConnection.instance.m_PlayerEditorConnectionEvents.connectionEvent.Invoke(playerId);
}
// Token: 0x06003BE3 RID: 15331 RVA: 0x00069470 File Offset: 0x00067670
[RequiredByNativeCode]
private static void DisconnectedCallback(int playerId)
{
PlayerConnection.instance.m_PlayerEditorConnectionEvents.disconnectionEvent.Invoke(playerId);
}
// Token: 0x040011F8 RID: 4600
internal static IPlayerEditorConnectionNative connectionNative;
// Token: 0x040011F9 RID: 4601
[SerializeField]
private PlayerEditorConnectionEvents m_PlayerEditorConnectionEvents = new PlayerEditorConnectionEvents();
// Token: 0x040011FA RID: 4602
[SerializeField]
private List<int> m_connectedPlayers = new List<int>();
// Token: 0x040011FB RID: 4603
private bool m_IsInitilized;
// Token: 0x040011FC RID: 4604
private static PlayerConnection s_Instance;
}
}
@@ -0,0 +1,120 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine.Events;
namespace UnityEngine.Networking.PlayerConnection
{
// Token: 0x020004CE RID: 1230
[Serializable]
internal class PlayerEditorConnectionEvents
{
// Token: 0x06003BE7 RID: 15335 RVA: 0x000694E4 File Offset: 0x000676E4
public void InvokeMessageIdSubscribers(Guid messageId, byte[] data, int playerId)
{
IEnumerable<PlayerEditorConnectionEvents.MessageTypeSubscribers> enumerable = this.messageTypeSubscribers.Where((PlayerEditorConnectionEvents.MessageTypeSubscribers x) => x.MessageTypeId == messageId);
if (!enumerable.Any<PlayerEditorConnectionEvents.MessageTypeSubscribers>())
{
Debug.LogError("No actions found for messageId: " + messageId);
}
else
{
MessageEventArgs messageEventArgs = new MessageEventArgs
{
playerId = playerId,
data = data
};
foreach (PlayerEditorConnectionEvents.MessageTypeSubscribers messageTypeSubscribers in enumerable)
{
messageTypeSubscribers.messageCallback.Invoke(messageEventArgs);
}
}
}
// Token: 0x06003BE8 RID: 15336 RVA: 0x000695B0 File Offset: 0x000677B0
public UnityEvent<MessageEventArgs> AddAndCreate(Guid messageId)
{
PlayerEditorConnectionEvents.MessageTypeSubscribers messageTypeSubscribers = this.messageTypeSubscribers.SingleOrDefault((PlayerEditorConnectionEvents.MessageTypeSubscribers x) => x.MessageTypeId == messageId);
if (messageTypeSubscribers == null)
{
messageTypeSubscribers = new PlayerEditorConnectionEvents.MessageTypeSubscribers
{
MessageTypeId = messageId,
messageCallback = new PlayerEditorConnectionEvents.MessageEvent()
};
this.messageTypeSubscribers.Add(messageTypeSubscribers);
}
messageTypeSubscribers.subscriberCount++;
return messageTypeSubscribers.messageCallback;
}
// Token: 0x06003BE9 RID: 15337 RVA: 0x00069634 File Offset: 0x00067834
public void UnregisterManagedCallback(Guid messageId, UnityAction<MessageEventArgs> callback)
{
PlayerEditorConnectionEvents.MessageTypeSubscribers messageTypeSubscribers = this.messageTypeSubscribers.SingleOrDefault((PlayerEditorConnectionEvents.MessageTypeSubscribers x) => x.MessageTypeId == messageId);
if (messageTypeSubscribers != null)
{
messageTypeSubscribers.subscriberCount--;
messageTypeSubscribers.messageCallback.RemoveListener(callback);
if (messageTypeSubscribers.subscriberCount <= 0)
{
this.messageTypeSubscribers.Remove(messageTypeSubscribers);
}
}
}
// Token: 0x040011FE RID: 4606
[SerializeField]
public List<PlayerEditorConnectionEvents.MessageTypeSubscribers> messageTypeSubscribers = new List<PlayerEditorConnectionEvents.MessageTypeSubscribers>();
// Token: 0x040011FF RID: 4607
[SerializeField]
public PlayerEditorConnectionEvents.ConnectionChangeEvent connectionEvent = new PlayerEditorConnectionEvents.ConnectionChangeEvent();
// Token: 0x04001200 RID: 4608
[SerializeField]
public PlayerEditorConnectionEvents.ConnectionChangeEvent disconnectionEvent = new PlayerEditorConnectionEvents.ConnectionChangeEvent();
// Token: 0x020004CF RID: 1231
[Serializable]
public class MessageEvent : UnityEvent<MessageEventArgs>
{
}
// Token: 0x020004D0 RID: 1232
[Serializable]
public class ConnectionChangeEvent : UnityEvent<int>
{
}
// Token: 0x020004D1 RID: 1233
[Serializable]
public class MessageTypeSubscribers
{
// Token: 0x17000D8C RID: 3468
// (get) Token: 0x06003BED RID: 15341 RVA: 0x000696D4 File Offset: 0x000678D4
// (set) Token: 0x06003BEE RID: 15342 RVA: 0x000696F4 File Offset: 0x000678F4
public Guid MessageTypeId
{
get
{
return new Guid(this.m_messageTypeId);
}
set
{
this.m_messageTypeId = value.ToString();
}
}
// Token: 0x04001201 RID: 4609
[SerializeField]
private string m_messageTypeId;
// Token: 0x04001202 RID: 4610
public int subscriberCount = 0;
// Token: 0x04001203 RID: 4611
public PlayerEditorConnectionEvents.MessageEvent messageCallback = new PlayerEditorConnectionEvents.MessageEvent();
}
}
}