Files
Dec2017-Script-Dump/UnityEngine/Networking/PlayerConnection/PlayerEditorConnectionEvents.cs
T
2026-06-04 11:42:34 +02:00

121 lines
4.1 KiB
C#

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();
}
}
}