NetworkBehaviourProcessor: MirrorProcessed function name stored in const

This commit is contained in:
vis2k 2019-01-02 17:15:48 +01:00
parent 0710c720ef
commit ff056707d4

View File

@ -144,17 +144,19 @@ public static bool WriteArguments(ILProcessor worker, MethodDefinition md, strin
}
// mark / check type as processed //////////////////////////////////////
const string MirrorProcessedFunction = "MirrorProcessed";
// by adding an empty MirrorProcessed() function
public static bool WasProcessed(TypeDefinition td)
{
return td.Methods.Any(method => method.Name == "MirrorProcessed");
return td.Methods.Any(method => method.Name == MirrorProcessedFunction);
}
public static void MarkAsProcessed(TypeDefinition td)
{
if (!WasProcessed(td))
{
MethodDefinition versionMethod = new MethodDefinition("MirrorProcessed", MethodAttributes.Private, Weaver.voidType);
MethodDefinition versionMethod = new MethodDefinition(MirrorProcessedFunction, MethodAttributes.Private, Weaver.voidType);
ILProcessor worker = versionMethod.Body.GetILProcessor();
worker.Append(worker.Create(OpCodes.Ret));
td.Methods.Add(versionMethod);