Skip to content

Commit

Permalink
Revert "Don't generate OnSerialize/OnDeserialize if not needed (#199)" (
Browse files Browse the repository at this point in the history
#217)

This reverts commit 6eec19b.
  • Loading branch information
paulpach committed Jan 1, 2019
1 parent 7dc918b commit 40a3ecc
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions Mirror/Weaver/Processors/NetworkBehaviourProcessor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -348,12 +348,6 @@ void GenerateSerialization()
return;
}

if (m_SyncVars.Count == 0)
{
// nothing to sync, use base OnSerialize
return;
}

MethodDefinition serialize = new MethodDefinition("OnSerialize", MethodAttributes.Public |
MethodAttributes.Virtual |
MethodAttributes.HideBySig,
Expand All @@ -379,6 +373,15 @@ void GenerateSerialization()
serWorker.Append(serWorker.Create(OpCodes.Stloc_0)); // set dirtyLocal to result of base.OnSerialize()
}

if (m_SyncVars.Count == 0)
{
// generate: return dirtyLocal
serWorker.Append(serWorker.Create(OpCodes.Ldloc_0));
serWorker.Append(serWorker.Create(OpCodes.Ret));
m_td.Methods.Add(serialize);
return;
}

// Generates: if (forceAll);
Instruction initialStateLabel = serWorker.Create(OpCodes.Nop);
serWorker.Append(serWorker.Create(OpCodes.Ldarg_2)); // forceAll
Expand Down Expand Up @@ -551,12 +554,6 @@ void GenerateDeSerialization()
return;
}

if (m_SyncVars.Count == 0)
{
// nothing to sync, base OnDeserialize is fine
return;
}

MethodDefinition serialize = new MethodDefinition("OnDeserialize", MethodAttributes.Public |
MethodAttributes.Virtual |
MethodAttributes.HideBySig,
Expand All @@ -575,6 +572,13 @@ void GenerateDeSerialization()
serWorker.Append(serWorker.Create(OpCodes.Call, baseDeserialize));
}

if (m_SyncVars.Count == 0)
{
serWorker.Append(serWorker.Create(OpCodes.Ret));
m_td.Methods.Add(serialize);
return;
}

// Generates: if (initialState);
Instruction initialStateLabel = serWorker.Create(OpCodes.Nop);

Expand Down

0 comments on commit 40a3ecc

Please sign in to comment.