/// <inheritdoc /> public virtual void Draw(GameTime gameTime) { lock (_drawableComponent) { _currentlyDrawableComponent.AddRange(_drawableComponent); } for (int i = 0; i < _currentlyDrawableComponent.Count; i++) { IDrawable drawable = _currentlyDrawableComponent[i]; if (drawable.BeginDraw()) { drawable.Draw(gameTime); drawable.EndDraw(); } } _currentlyDrawableComponent.Clear(); }