Exemple #1
0
        /// <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();
            }
        }
Exemple #2
0
        /// <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);
        }