internal override void Draw(Location location) { if (location == null) { return; } buf++; buf = buf % buffers; drawer.Clear(buf, Color.Transparent); TileMap tileMap = location.Description as TileMap; if (tileMap != null) { drawer.FillRectangle(buf, tileMap.BackgroundColor, 0, 0, tileMap.Width, tileMap.Height); } else { drawer.FillRectangle(buf, this.backgroundColor, 0, 0, this.Width, this.Height); } List <IDescription> descriptions = location.Draw(); foreach (IDescription description in descriptions) { drawer.Draw(buf, description); } }