public void Process() { if (m_td.HasGenericParameters) { Weaver.fail = true; Log.Error("NetworkBehaviour " + m_td.Name + " cannot have generic parameters"); return; } Weaver.DLog(m_td, "Process Start"); MarkAsProcessed(m_td); SyncVarProcessor.ProcessSyncVars(m_td, m_SyncVars, m_SyncObjects, m_SyncVarNetIds); Weaver.ResetRecursionCount(); ProcessMethods(); SyncEventProcessor.ProcessEvents(m_td, m_Events, m_EventInvocationFuncs); if (Weaver.fail) { return; } GenerateConstants(); Weaver.ResetRecursionCount(); GenerateSerialization(); if (Weaver.fail) { return; } GenerateDeSerialization(); Weaver.DLog(m_td, "Process Done"); }
public void Process() { if (netBehaviourSubclass.HasGenericParameters) { Weaver.Error($"{netBehaviourSubclass} cannot have generic parameters"); return; } Weaver.DLog(netBehaviourSubclass, "Process Start"); MarkAsProcessed(netBehaviourSubclass); SyncVarProcessor.ProcessSyncVars(netBehaviourSubclass, syncVars, syncObjects, syncVarNetIds); ProcessMethods(); SyncEventProcessor.ProcessEvents(netBehaviourSubclass, eventRpcs, eventRpcInvocationFuncs); if (Weaver.WeavingFailed) { return; } GenerateConstants(); GenerateSerialization(); if (Weaver.WeavingFailed) { return; } GenerateDeSerialization(); Weaver.DLog(netBehaviourSubclass, "Process Done"); }
// return true if modified public bool Process() { // only process once if (WasProcessed(netBehaviourSubclass)) { return(false); } Weaver.DLog(netBehaviourSubclass, "Found NetworkBehaviour " + netBehaviourSubclass.FullName); if (netBehaviourSubclass.HasGenericParameters) { Weaver.Error($"{netBehaviourSubclass.Name} cannot have generic parameters", netBehaviourSubclass); // originally Process returned true in every case, except if already processed. // maybe return false here in the future. return(true); } Weaver.DLog(netBehaviourSubclass, "Process Start"); MarkAsProcessed(netBehaviourSubclass); // deconstruct tuple and set fields (syncVars, syncVarNetIds) = SyncVarProcessor.ProcessSyncVars(netBehaviourSubclass); syncObjects = SyncObjectProcessor.FindSyncObjectsFields(netBehaviourSubclass); ProcessMethods(); SyncEventProcessor.ProcessEvents(netBehaviourSubclass, eventRpcs, eventRpcInvocationFuncs); if (Weaver.WeavingFailed) { // originally Process returned true in every case, except if already processed. // maybe return false here in the future. return(true); } GenerateConstants(); GenerateSerialization(); if (Weaver.WeavingFailed) { // originally Process returned true in every case, except if already processed. // maybe return false here in the future. return(true); } GenerateDeSerialization(); Weaver.DLog(netBehaviourSubclass, "Process Done"); return(true); }