/// <summary> /// Begins the rendering process on all layers. /// </summary> private void BeginLayerRender() { if (_graphicsService == null) { _graphicsService = GameResourceFactory?.CreateGraphicsService(); } _graphicsService.Clear(BackgroundColor); foreach (var layer in _layers.Values) { layer.Begin(); } }
/// <summary> /// Adds a layer with given name. DefaultLayer is 0, to go under go negative, to go above add positive. /// Layers are rendered in order of this zOrder. /// </summary> /// <param name="name"></param> /// <param name="zOrder"></param> /// <returns></returns> public Layer AddLayer(string name, int zOrder) { if (GameResourceFactory == null) { throw new InvalidOperationException("GameResourceFactory must be assigned before a DefaultLayer can be accessed"); } var layer = new Layer(name, GameResourceFactory.CreateSpriteBatch()); _layers.Add(zOrder, layer); return(layer); }