From a85ac99a3c1c2311546d12717cd60d6f188922d3 Mon Sep 17 00:00:00 2001 From: Edmand46 Date: Sun, 29 May 2022 16:15:26 +0400 Subject: [PATCH] fixed: event replication --- Ragon/Sources/Rooms/Room.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Ragon/Sources/Rooms/Room.cs b/Ragon/Sources/Rooms/Room.cs index 4373c0f..70bb9df 100755 --- a/Ragon/Sources/Rooms/Room.cs +++ b/Ragon/Sources/Rooms/Room.cs @@ -180,10 +180,10 @@ namespace Ragon.Core return; Span payloadRaw = stackalloc byte[_serializer.Size]; - ReadOnlySpan payload = payloadRaw; var payloadData = _serializer.ReadData(_serializer.Size); payloadData.CopyTo(payloadRaw); + ReadOnlySpan payload = payloadRaw; if (_plugin.InternalHandle(peerId, entityId, evntId, ref payload)) return; @@ -200,13 +200,20 @@ namespace Ragon.Core case RagonOperation.REPLICATE_EVENT: { var evntId = _serializer.ReadUShort(); - var payload = _serializer.ReadData(_serializer.Size); + + Span payloadRaw = stackalloc byte[_serializer.Size]; + var payloadData = _serializer.ReadData(_serializer.Size); + payloadData.CopyTo(payloadRaw); + + ReadOnlySpan payload = payloadRaw; if (_plugin.InternalHandle(peerId, evntId, ref payload)) return; _serializer.Clear(); _serializer.WriteOperation(RagonOperation.REPLICATE_EVENT); _serializer.WriteUShort(evntId); + _serializer.WriteData(ref payload); + var sendData = _serializer.ToArray(); Broadcast(_readyPlayers, sendData, DeliveryType.Reliable); break;