/// <summary> /// Create local resources then call <see cref="OnLoadContent()"/> for inheriting objects. /// </summary> private void LoadContent() { AddLayer(new DebugLayer(this), 9999); _logLayer = new ScreenLogLayer(this); AddLayer(_logLayer, 9998); _brushes = new BrushContainer(this); _fonts = new TextFormatContainer(this); OnLoadContent(); lock (Layers) { foreach (var layer in Layers) { layer.LoadContent(); } } }
/// <summary> /// Unloads local content then calls <see cref="OnUnloadContent()"/> for inheriting controls. /// </summary> protected void UnloadContent() { _brushes.Cleanup(); _brushes = null; _fonts.Cleanup(); _fonts = null; foreach (var layer in Layers) { layer.UnloadContent(); var disposableLayer = layer as IDisposable; if (disposableLayer != null) { disposableLayer.Dispose(); } } Layers.Clear(); OnUnloadContent(); }
/// <summary> /// Unload content and cleanup unmanaged resources. /// </summary> public override void UnloadContent() { base.UnloadContent(); brushes.Cleanup(); brushes = null; var regionProxies = regions.Values.ToList(); regions.Clear(); foreach (var r in regionProxies) { if (!r.IsDisposed) { r.Dispose(); } } if (state != null && !state.IsDisposed) { state.Dispose(); state = null; } }
/// <summary> /// Load Content and initialize unmanaged resources. /// </summary> public override void LoadContent() { base.LoadContent(); brushes = new BrushContainer(Surface); }