public ScreenSurface CreateRender(Point?viewSize = null) { var(viewWidth, viewHeight) = viewSize ?? (Width, Height); var cellSurface = new CellSurface(viewWidth, viewHeight, 100, 100); _renderer = new ScreenSurface(cellSurface); _entityRenderer = new Renderer(); _renderer.SadComponents.Add(_entityRenderer); _renderer.SadComponents.Add(new MapRendererMouseProcessor(this)); // add any entity associated with the map the to entity renderer _entityRenderer.AddRange(Entities.Items.Cast <Entity>()); return(_renderer); }