Mercurial > repos > IBDev-IBBoard.WarFoundry.API
annotate API/Exporters/WarFoundryHtmlExporter.cs @ 499:2fc99446f9c9 default tip
Add initial structure for categories of equipment
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 16 Oct 2016 20:26:44 +0100 |
parents | 55b39514cbf8 |
children |
rev | line source |
---|---|
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 // This file (WarFoundryHtmlExporter.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2009 IBBoard |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 // |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 using System; |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 using System.Collections.Generic; |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 using System.IO; |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 using System.Text; |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 using System.Xml; |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 using System.Xml.Schema; |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 using IBBoard.Lang; |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 using IBBoard.Xml; |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 using IBBoard.WarFoundry.API.Objects; |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 using IBBoard.WarFoundry.API.Util; |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
14 using System.Reflection; |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 namespace IBBoard.WarFoundry.API.Exporters |
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
17 { |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
18 /// <summary> |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
19 /// Custom exporter that exports an army as a basic HTML file |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
20 /// </summary> |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
21 public class WarFoundryHtmlExporter : IWarFoundryExporter |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
22 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
23 private static WarFoundryHtmlExporter exporter; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
24 private delegate string GetStatCellTextDelegate(Stat stat); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
25 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
26 public static WarFoundryHtmlExporter GetDefault() |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
27 { |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
28 if (exporter == null) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
29 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
30 exporter = new WarFoundryHtmlExporter(); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
31 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
32 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
33 return exporter; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
34 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
35 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
36 private WarFoundryHtmlExporter() |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
37 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
38 //Hide constructor |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
39 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
40 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
41 public void ExportArmy(Army army, string path) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
42 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
43 XmlDocument doc = new XmlDocument(); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
44 XmlResourceResolver resolver = new XmlResourceResolver(Assembly.GetExecutingAssembly()); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
45 string uriPre = "http://www.w3.org/TR/xhtml1/DTD/"; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
46 string resPre = "IBBoard.WarFoundry.schemas."; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
47 resolver.AddMapping("-//W3C//ENTITIES Latin 1 for XHTML//EN", uriPre + "xhtml-lat1.ent", resPre + "xhtml-lat1.ent"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
48 resolver.AddMapping("-//W3C//ENTITIES Symbols for XHTML//EN", uriPre + "xhtml-symbol.ent", resPre + "xhtml-symbol.ent"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
49 resolver.AddMapping("-//W3C//ENTITIES Special for XHTML//EN", uriPre + "xhtml-special.ent", resPre + "xhtml-special.ent"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
50 resolver.AddMapping("-//W3C//DTD XHTML 1.0 Strict//EN", uriPre + "xhtml1-strict.dtd", resPre + "xhtml1-strict.dtd"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
51 doc.XmlResolver = resolver; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
52 doc.AppendChild(doc.CreateDocumentType("html", "-//W3C//DTD XHTML 1.0 Strict//EN", "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd", null)); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
53 XmlElement html = doc.CreateElement("html"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
54 doc.AppendChild(html); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
55 XmlElement head = doc.CreateElement("head"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
56 html.AppendChild(head); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
57 XmlElement title = doc.CreateElement("title"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
58 title.InnerXml = army.Name; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
59 head.AppendChild(title); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
60 XmlElement metaCharset = doc.CreateElement("meta"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
61 metaCharset.SetAttribute("http-equiv", "Content-Type"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
62 metaCharset.SetAttribute("content", "text/html;charset=UTF-8"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
63 head.AppendChild(metaCharset); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
64 XmlElement style = doc.CreateElement("style"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
65 style.InnerText = "table, th, td { border: 1px solid #000; border-spacing: 0; border-collapse: collapse; margin: 0 }\n" |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
66 + "table table { width: 100%; border-width: 0; margin: -2px }\n" |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
67 + "table table td { border-width:0 1px }"; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
68 head.AppendChild(style); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
69 XmlElement body = doc.CreateElement("body"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
70 html.AppendChild(body); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
71 XmlElement header = doc.CreateElement("h1"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
72 header.InnerText = Translation.GetTranslation("armyHtmlOutputBodyHeader", "{0} - {1}pts", army.Name, army.Points); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
73 body.AppendChild(header); |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
74 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
75 foreach (XmlElement table in CreateTables(army, doc)) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
76 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
77 if (!IsTableOnlyHeader(table)) |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
78 { |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
79 body.AppendChild(table); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
80 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
81 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
82 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
83 File.WriteAllText(path, doc.OuterXml); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
84 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
85 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
86 private bool IsTableOnlyHeader(XmlElement table) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
87 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
88 return table.ChildNodes.Count == 1; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
89 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
90 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
91 private XmlElement[] CreateTables(Army army, XmlDocument doc) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
92 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
93 Dictionary<string, XmlElement> tables = new Dictionary<string, XmlElement>(); |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
94 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
95 foreach (SystemStats statSets in army.GameSystem.SystemStats) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
96 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
97 tables[statSets.ID] = CreateTable(statSets, doc); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
98 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
99 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
100 foreach (Unit unit in army.GetUnits()) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
101 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
102 CreateUnitRow(unit, tables[GetFirstStatType(unit)]); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
103 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
104 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
105 return DictionaryUtils.ToArray(tables); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
106 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
107 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
108 private static string GetFirstStatType(Unit unit) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
109 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
110 string[] unitStatIDs = unit.UnitStatsArrayIDs; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
111 return GetFirstStatType(unitStatIDs); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
112 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
113 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
114 public static string GetFirstStatType(string[] unitStatIDs) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
115 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
116 return unitStatIDs[0]; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
117 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
118 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
119 private XmlElement CreateTable(SystemStats stats, XmlDocument doc) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
120 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
121 XmlElement table = doc.CreateElement("table"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
122 XmlElement headerRow = doc.CreateElement("tr"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
123 table.AppendChild(headerRow); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
124 XmlElement name = doc.CreateElement("th"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
125 name.InnerText = Translation.GetTranslation("armyHtmlOutputTableHeaderUnitName", "name"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
126 headerRow.AppendChild(name); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
127 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
128 XmlElement unitTypeName = doc.CreateElement("th"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
129 unitTypeName.InnerText = Translation.GetTranslation("armyHtmlOutputTableHeaderUnitTypeName", "type name"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
130 headerRow.AppendChild(unitTypeName); |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
131 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
132 foreach (StatSlot stat in stats.StatSlots) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
133 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
134 XmlElement statHeader = doc.CreateElement("th"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
135 statHeader.InnerText = stat.Name; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
136 headerRow.AppendChild(statHeader); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
137 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
138 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
139 XmlElement notes = doc.CreateElement("th"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
140 notes.InnerText = Translation.GetTranslation("armyHtmlOutputTableHeaderUnitNotes", "name"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
141 ; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
142 headerRow.AppendChild(notes); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
143 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
144 XmlElement points = doc.CreateElement("th"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
145 points.InnerText = Translation.GetTranslation("armyHtmlOutputTableHeaderUnitPoints", "name"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
146 ; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
147 headerRow.AppendChild(points); |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
148 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
149 return table; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
150 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
151 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
152 private XmlElement CreateUnitRow(Unit unit, XmlElement tableElem) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
153 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
154 XmlDocument doc = tableElem.OwnerDocument; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
155 XmlElement row = doc.CreateElement("tr"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
156 tableElem.AppendChild(row); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
157 Stat[][] memberStats = unit.UnitStatsArraysWithName; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
158 string[] statTypeIDs = unit.UnitStatsArrayIDs; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
159 string defaultStatType = GetFirstStatType(statTypeIDs); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
160 int statRowCount = 0; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
161 bool hasOther = false; |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
162 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
163 foreach (string statTypeID in statTypeIDs) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
164 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
165 if (statTypeID.Equals(defaultStatType)) |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
166 { |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
167 statRowCount++; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
168 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
169 else if (!hasOther) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
170 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
171 statRowCount++; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
172 hasOther = true; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
173 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
174 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
175 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
176 XmlElement name = doc.CreateElement("td"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
177 name.InnerText = unit.Name; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
178 SetRowSpan(name, statRowCount); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
179 row.AppendChild(name); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
180 CreateStatsBlock(row, memberStats, statTypeIDs); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
181 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
182 StringBuilder sb = new StringBuilder(); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
183 UnitEquipmentItem[] unitEquipment = unit.GetEquipment(); |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
184 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
185 if (unitEquipment.Length > 0) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
186 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
187 bool addSeparator = false; |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
188 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
189 foreach (UnitEquipmentItem equip in unitEquipment) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
190 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
191 if (!addSeparator) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
192 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
193 addSeparator = true; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
194 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
195 else |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
196 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
197 sb.Append(", "); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
198 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
199 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
200 string amountString; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
201 double amount = UnitEquipmentUtil.GetEquipmentAmount(unit, equip); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
202 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
203 if (UnitEquipmentUtil.GetEquipmentAmountIsRatio(unit, equip)) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
204 { |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
205 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
206 if (amount == 100) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
207 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
208 amountString = GetEquipmentAmountAllTranslation(unit); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
209 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
210 else |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
211 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
212 int number = UnitEquipmentUtil.GetEquipmentAmountTaken(unit, equip); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
213 amountString = GetEquipmentAmountRatioTranslation(amount, number); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
214 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
215 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
216 else |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
217 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
218 if (amount == -1) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
219 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
220 amountString = GetEquipmentAmountAllTranslation(unit); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
221 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
222 else |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
223 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
224 amountString = GetEquipmentAmountNumberTranslation((int)amount); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
225 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
226 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
227 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
228 sb.Append(Translation.GetTranslation("armyHtmlExportEquipAmountRatio", "{0} for {1}", equip.Name, amountString)); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
229 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
230 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
231 sb.Append(". "); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
232 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
233 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
234 ICollection<Ability> abilities = unit.Abilities; |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
235 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
236 if (abilities.Count > 0) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
237 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
238 bool addSeparator = false; |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
239 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
240 foreach (Ability ability in abilities) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
241 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
242 if (!addSeparator) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
243 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
244 addSeparator = true; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
245 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
246 else |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
247 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
248 sb.Append(", "); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
249 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
250 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
251 sb.Append(ability.Name); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
252 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
253 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
254 sb.Append(". "); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
255 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
256 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
257 XmlElement notes = doc.CreateElement("td"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
258 notes.InnerText = sb.ToString(); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
259 SetRowSpan(notes, statRowCount); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
260 row.AppendChild(notes); |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
261 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
262 XmlElement points = doc.CreateElement("td"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
263 points.InnerText = unit.Points.ToString(); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
264 SetRowSpan(points, statRowCount); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
265 row.AppendChild(points); |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
266 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
267 return row; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
268 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
269 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
270 private static void SetRowSpan(XmlElement xmlElement, int statRowCount) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
271 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
272 if (statRowCount > 1) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
273 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
274 xmlElement.SetAttribute("rowspan", statRowCount.ToString()); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
275 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
276 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
277 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
278 private void CreateStatsBlock(XmlElement unitRow, Stat[][] memberStats, string[] statTypeIDs) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
279 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
280 XmlDocument doc = unitRow.OwnerDocument; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
281 string defaultStatType = GetFirstStatType(statTypeIDs); |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
282 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
283 Stat[] defaultStatLine = memberStats[0]; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
284 int defaultStatLineCount = defaultStatLine.Length; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
285 AddStatCell(defaultStatLine[0].SlotValueString, unitRow); |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
286 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
287 for (int i = 1; i < defaultStatLineCount; i++) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
288 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
289 string statText = GetDefaultStatCellText(defaultStatLine[i]); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
290 AddStatCell(statText, unitRow); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
291 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
292 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
293 int statCount = statTypeIDs.Length; |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
294 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
295 if (statCount > 1) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
296 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
297 XmlElement unitTable = (XmlElement)unitRow.ParentNode; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
298 Dictionary<string, XmlElement> statParents = CreateStatsParentElements(statTypeIDs, unitTable); |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
299 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
300 for (int i = 1; i < statCount; i++) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
301 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
302 Stat[] statLine = memberStats[i]; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
303 string statTypeID = statTypeIDs[i]; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
304 XmlElement tableElement = DictionaryUtils.GetValue(statParents, statTypeID); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
305 int statLineCount = statLine.Length; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
306 XmlElement statRow = doc.CreateElement("tr"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
307 tableElement.AppendChild(statRow); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
308 GetStatCellTextDelegate statCellTextDelegate = (statTypeID.Equals(defaultStatType) ? new GetStatCellTextDelegate(GetDefaultStatCellText) : new GetStatCellTextDelegate(GetOtherStatCellText)); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
309 AddStatCell(statLine[0].SlotValueString, statRow); |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
310 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
311 for (int j = 1; j < statLineCount; j++) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
312 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
313 string statText = statCellTextDelegate(statLine[j]); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
314 AddStatCell(statText, statRow); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
315 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
316 } |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
317 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
318 if (statParents.Count > 1) |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
319 { |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
320 AddOtherUnitStatTables(statParents, unitTable, defaultStatLineCount); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
321 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
322 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
323 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
324 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
325 private static void AddOtherUnitStatTables(Dictionary<string, XmlElement> statParents, XmlElement unitTable, int defaultStatLineCount) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
326 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
327 XmlDocument doc = unitTable.OwnerDocument; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
328 XmlElement otherStatsRow = doc.CreateElement("tr"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
329 unitTable.AppendChild(otherStatsRow); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
330 XmlElement otherStatsCell = doc.CreateElement("td"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
331 otherStatsCell.SetAttribute("colspan", defaultStatLineCount.ToString()); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
332 otherStatsRow.AppendChild(otherStatsCell); |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
333 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
334 foreach (XmlElement tableElem in statParents.Values) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
335 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
336 if (tableElem != unitTable) |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
337 { |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
338 otherStatsCell.AppendChild(tableElem); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
339 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
340 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
341 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
342 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
343 private Dictionary<string, XmlElement> CreateStatsParentElements(string[] statTypeIDs, XmlElement parentTable) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
344 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
345 Dictionary<string, XmlElement> statParents = new Dictionary<string, XmlElement>(); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
346 XmlDocument doc = parentTable.OwnerDocument; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
347 string defaultStatTypeID = GetFirstStatType(statTypeIDs); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
348 statParents[defaultStatTypeID] = parentTable; |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
349 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
350 foreach (string statTypeID in statTypeIDs) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
351 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
352 if (!statParents.ContainsKey(statTypeID)) |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
353 { |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
354 XmlElement tableElement = doc.CreateElement("table"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
355 statParents[statTypeID] = tableElement; |
481
81f32062c9fa
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
382
diff
changeset
|
356 } |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
357 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
358 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
359 return statParents; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
360 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
361 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
362 private string GetDefaultStatCellText(Stat stat) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
363 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
364 return Translation.GetTranslation("armyHtmlExportDefaultStatCellText", "{0}", stat.SlotValueString, stat.ParentSlotName); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
365 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
366 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
367 private string GetOtherStatCellText(Stat stat) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
368 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
369 return Translation.GetTranslation("armyHtmlExportOtherStatCellText", "{1}: {0}", stat.SlotValueString, stat.ParentSlotName); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
370 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
371 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
372 private static void AddStatCell(string statValue, XmlElement row) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
373 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
374 XmlElement statCell = row.OwnerDocument.CreateElement("td"); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
375 statCell.InnerText = statValue; |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
376 row.AppendChild(statCell); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
377 } |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
378 |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
379 private string GetEquipmentAmountRatioTranslation(double amount, int number) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
380 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
381 return Translation.GetTranslation("armyHtmlExportEquipAmountPercentage", "{0}% ({1})", amount, number); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
382 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
383 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
384 private string GetEquipmentAmountNumberTranslation(int amount) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
385 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
386 return Translation.GetTranslation("armyHtmlExportEquipAmountNumber", "{0}", amount); |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
387 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
388 |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
389 private string GetEquipmentAmountAllTranslation(Unit unit) |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
390 { |
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
391 return Translation.GetTranslation("armyHtmlExportEquipAmountAll", "all ({1})", 100, unit.Size); |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
392 } |
495
55b39514cbf8
Fixes #424: Basic HTML export is broken on Windows
IBBoard <dev@ibboard.co.uk>
parents:
481
diff
changeset
|
393 } |
337
3c4a6403a88c
* Fix capitalisation so that new files are in the namespace
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
394 } |