Exemplo n.º 1
0
        public override string Print()
        {
            Html = new StringBuilder();

            Html.AppendLine("<h1>" + _region.GetIcon() + " " + "Depth: " + _region.Depth + "</h1></br></br>");

            if (_region.Coordinates.Any())
            {
                List <Bitmap> maps = MapPanel.CreateBitmaps(_world, _region);

                Html.AppendLine("<table>");
                Html.AppendLine("<tr>");
                Html.AppendLine("<td>" + MakeLink(BitmapToHtml(maps[0]), LinkOption.LoadMap) + "</td>");
                Html.AppendLine("<td>" + MakeLink(BitmapToHtml(maps[1]), LinkOption.LoadMap) + "</td>");
                Html.AppendLine("</tr></table></br>");

                Html.AppendLine("<b>Geography</b><br/>");
                Html.AppendLine("<ul>");
                Html.AppendLine("<li>Area: " + _region.SquareTiles + " region tiles²</li>");
                Html.AppendLine("</ul>");
            }

            int deathCount = _region.Events.OfType <HfDied>().Count();

            if (deathCount > 0 || _region.Battles.Count > 0)
            {
                var popInBattle =
                    _region.Battles
                    .Sum(
                        battle =>
                        battle.AttackerSquads.Sum(squad => squad.Deaths) +
                        battle.DefenderSquads.Sum(squad => squad.Deaths));
                Html.AppendLine("<b>Deaths</b> " + LineBreak);
                if (deathCount > 100)
                {
                    Html.AppendLine("<ul>");
                    Html.AppendLine("<li>Historical figures died in this Region: " + deathCount);
                    if (popInBattle > 0)
                    {
                        Html.AppendLine("<li>Population died in Battle: " + popInBattle);
                    }
                    Html.AppendLine("</ul>");
                }
                else
                {
                    Html.AppendLine("<ol>");
                    foreach (HfDied death in _region.Events.OfType <HfDied>())
                    {
                        Html.AppendLine("<li>" + death.HistoricalFigure.ToLink() + ", in " + death.Year + " (" + death.Cause.GetDescription() + ")");
                    }
                    if (popInBattle > 0)
                    {
                        Html.AppendLine("<li>Population died in Battle: " + popInBattle);
                    }
                    Html.AppendLine("</ol>");
                }
            }

            PrintEventLog(_world, _region.Events, UndergroundRegion.Filters, _region);

            return(Html.ToString());
        }