Skip to content

Commit 2c9daa0

Browse files
committed
Fixed MirrorBehaviourSerializePatch
1 parent 30606bd commit 2c9daa0

1 file changed

Lines changed: 10 additions & 20 deletions

File tree

LabExtended/Patches/Events/Mirror/MirrorBehaviourSerializePatch.cs

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ private static bool Prefix(NetworkIdentity __instance, bool initialState, Networ
3131

3232
if (ownerDirtyBits != 0 || observersDirtyBits != 0)
3333
{
34-
var serializingBehaviourEventArgs = new MirrorSerializingBehaviourEventArgs(null!, null!);
35-
var serializedBehaviourEventArgs = new MirrorSerializedBehaviourEventArgs(null!, null!, !initialState);
36-
3734
for (var i = 0; i < behaviours.Length; i++)
3835
{
3936
var behaviour = behaviours[i];
@@ -45,32 +42,25 @@ private static bool Prefix(NetworkIdentity __instance, bool initialState, Networ
4542
{
4643
using var writer = NetworkWriterPool.Get();
4744

48-
serializingBehaviourEventArgs.Behaviour = behaviour;
49-
serializingBehaviourEventArgs.Writer = writer;
50-
serializingBehaviourEventArgs.IsAllowed = true;
45+
var serializingBehaviourEventArgs = new MirrorSerializingBehaviourEventArgs(behaviour, writer);
5146

5247
if (MirrorEvents.OnSerializingBehaviour(serializingBehaviourEventArgs))
5348
behaviour.Serialize(writer, initialState);
5449

55-
if (writer.Position > 0)
56-
{
57-
var segment = writer.ToArraySegment();
50+
var segment = writer.ToArraySegment();
5851

59-
if (isOwnerDirty)
60-
ownerWriter.WriteBytes(segment.Array, segment.Offset, segment.Count);
52+
if (isOwnerDirty)
53+
ownerWriter.WriteBytes(segment.Array, segment.Offset, segment.Count);
6154

62-
if (isObserversDirty)
63-
observersWriter.WriteBytes(segment.Array, segment.Offset, segment.Count);
55+
if (isObserversDirty)
56+
observersWriter.WriteBytes(segment.Array, segment.Offset, segment.Count);
6457

65-
serializedBehaviourEventArgs.Behaviour = behaviour;
66-
serializedBehaviourEventArgs.Writer = writer;
67-
serializedBehaviourEventArgs.ResetBits = !initialState;
58+
var serializedBehaviourEventArgs = new MirrorSerializedBehaviourEventArgs(behaviour, writer, !initialState);
6859

69-
MirrorEvents.OnSerializedBehaviour(serializedBehaviourEventArgs);
60+
MirrorEvents.OnSerializedBehaviour(serializedBehaviourEventArgs);
7061

71-
if (serializedBehaviourEventArgs.ResetBits)
72-
behaviour.ClearAllDirtyBits();
73-
}
62+
if (serializedBehaviourEventArgs.ResetBits)
63+
behaviour.ClearAllDirtyBits();
7464
}
7565
}
7666
}

0 commit comments

Comments
 (0)