static bool WeaveModule(ModuleDefinition moduleDefinition) { try { bool modified = false; System.Diagnostics.Stopwatch watch = System.Diagnostics.Stopwatch.StartNew(); watch.Start(); foreach (TypeDefinition td in moduleDefinition.Types) { if (td.IsClass && td.BaseType.CanBeResolved()) { modified |= WeaveNetworkBehavior(td); modified |= ServerClientAttributeProcessor.Process(td); } } watch.Stop(); Console.WriteLine("Weave behaviours and messages took" + watch.ElapsedMilliseconds + " milliseconds"); return(modified); } catch (Exception ex) { Error(ex.ToString()); throw new Exception(ex.Message, ex); } }
static bool WeaveModule(ModuleDefinition moduleDefinition) { try { bool modified = false; // We need to do 2 passes, because SyncListStructs might be referenced from other modules, so we must make sure we generate them first. System.Diagnostics.Stopwatch watch = System.Diagnostics.Stopwatch.StartNew(); foreach (TypeDefinition td in moduleDefinition.Types) { if (td.IsClass && td.BaseType.CanBeResolved()) { modified |= WeaveSyncObject(td); } } watch.Stop(); Console.WriteLine("Weave sync objects took " + watch.ElapsedMilliseconds + " milliseconds"); watch.Start(); foreach (TypeDefinition td in moduleDefinition.Types) { if (td.IsClass && td.BaseType.CanBeResolved()) { modified |= WeaveNetworkBehavior(td); modified |= WeaveMessage(td); modified |= ServerClientAttributeProcessor.Process(td); } } watch.Stop(); Console.WriteLine("Weave behaviours and messages took" + watch.ElapsedMilliseconds + " milliseconds"); if (modified) { PropertySiteProcessor.Process(moduleDefinition); } return(modified); } catch (Exception ex) { Error(ex.ToString()); throw new Exception(ex.Message, ex); } }
bool WeaveModule(ModuleDefinition module) { try { bool modified = false; var watch = Stopwatch.StartNew(); watch.Start(); var attributeProcessor = new ServerClientAttributeProcessor(logger); var types = new List<TypeDefinition>(module.Types); foreach (TypeDefinition td in types) { if (td.IsClass && td.BaseType.CanBeResolved()) { #if FIX modified |= WeaveNetworkBehavior(td); modified |= attributeProcessor.Process(td); #else modified = true; #endif } } watch.Stop(); Console.WriteLine("Weave behaviours and messages took " + watch.ElapsedMilliseconds + " milliseconds"); if (modified) propertySiteProcessor.Process(module); return modified; } catch (Exception ex) { logger.Error(ex.ToString()); throw; } }
bool WeaveModule(ModuleDefinition moduleDefinition) { bool modified = false; Stopwatch watch = Stopwatch.StartNew(); watch.Start(); foreach (TypeDefinition td in moduleDefinition.Types) { if (td.IsClass && td.BaseType.CanBeResolved()) { modified |= WeaveNetworkBehavior(td); modified |= ServerClientAttributeProcessor.Process(weaverTypes, Log, td, ref WeavingFailed); } } watch.Stop(); Console.WriteLine($"Weave behaviours and messages took {watch.ElapsedMilliseconds} milliseconds"); return(modified); }