/// <summary> /// Starts the application. /// </summary> public void Run() { RegisterUnhandledExceptionHandler(); Builder builder = CreateBuilder(); AddBuilderStrategies(builder); CreateRootWorkItem(builder); IVisualizer visualizer = CreateVisualizer(); if (visualizer != null) { visualizer.Initialize(rootWorkItem, builder); } AddRequiredServices(); AddConfiguredServices(); AddServices(); AuthenticateUser(); ProcessShellAssembly(); rootWorkItem.BuildUp(); LoadModules(); rootWorkItem.FinishInitialization(); rootWorkItem.Run(); Start(); rootWorkItem.Dispose(); if (visualizer != null) { visualizer.Dispose(); } }
public void Dispose(IVisualizer v) { var w = v.GetWatch(); if (w is IWorldWatch ww) { var world = ww.GetWorld(); var sys = world.GetExistingSystem <DebugWatchSystem>(); if (sys != null) { sys.RemoveVisualizer(v); } } v.Dispose(); }