// limitations under the License.\r
\r
using System;\r
+using System.ComponentModel;\r
using System.Drawing;\r
using System.Linq;\r
using System.Text.RegularExpressions;\r
private readonly ShipLabel[][] _labels = new ShipLabel[ShipInfo.MemberCount][];\r
private readonly ShipLabel[][] _combinedLabels = new ShipLabel[ShipInfo.MemberCount * 2][];\r
private readonly ShipLabel[] _akashiTimers = new ShipLabel[ShipInfo.MemberCount];\r
- private readonly ShipLabel[][] _repairList = new ShipLabel[16][];\r
- private Control _panelRepairList;\r
private readonly ShipLabel[][] _ndockLabels = new ShipLabel[DockInfo.DockCount][];\r
public static Color[] ColumnColors = {SystemColors.Control, Color.FromArgb(255, 250, 250, 250)};\r
\r
}\r
}\r
\r
- public void CreateRepairList(Control parent, EventHandler onClick)\r
- {\r
- parent.SuspendLayout();\r
- for (var i = 0; i < _repairList.Length; i++)\r
- {\r
- var y = 3 + i * 16;\r
- const int height = 12;\r
- parent.Controls.AddRange(_repairList[i] = new[]\r
- {\r
- new ShipLabel {Location = new Point(0, y), Size = new Size(11, height)},\r
- new ShipLabel {Location = new Point(119, y), Size = new Size(5, height - 1)},\r
- new ShipLabel {Location = new Point(75, y), AutoSize = true},\r
- new ShipLabel {Location = new Point(9, y), AutoSize = true},\r
- new ShipLabel {Location = new Point(0, y - 2), Size = new Size(parent.Width, height + 3)}\r
- });\r
- foreach (var label in _repairList[i])\r
- {\r
- label.Scale();\r
- label.PresetColor = label.BackColor = ColumnColors[(i + 1) % 2];\r
- label.Click += onClick;\r
- }\r
- }\r
- _panelRepairList = parent;\r
- parent.ResumeLayout();\r
- }\r
-\r
- public void SetRepairList(ShipStatus[] list)\r
- {\r
- const int fleet = 0, name = 3, time = 2, damage = 1;\r
- var parent = _panelRepairList;\r
- var num = Min(list.Length, _repairList.Length);\r
- if (num == 0)\r
- {\r
- parent.Size = new Size(parent.Width, (int)Round(ShipLabel.ScaleFactor.Height * 19));\r
- var labels = _repairList[0];\r
- labels[fleet].Text = "";\r
- labels[name].SetName("なし");\r
- labels[time].Text = "";\r
- labels[damage].BackColor = labels[damage].PresetColor;\r
- return;\r
- }\r
- parent.Size = new Size(parent.Width, (int)Round(ShipLabel.ScaleFactor.Height * (num * 16 + 3)));\r
- for (var i = 0; i < num; i++)\r
- {\r
- var s = list[i];\r
- var labels = _repairList[i];\r
- labels[fleet].SetFleet(s);\r
- labels[name].SetName(s, ShipNameWidth.RepairList);\r
- labels[time].SetRepairTime(s);\r
- labels[damage].BackColor = ShipLabel.DamageColor(s, labels[damage].PresetColor);\r
- }\r
- }\r
-\r
public void CreateNDockLabels(Control parent, EventHandler onClick)\r
{\r
for (var i = 0; i < _ndockLabels.Length; i++)\r
}\r
}\r
\r
- [System.ComponentModel.DesignerCategory("Code")]\r
+ [DesignerCategory("Code")]\r
public class ShipLabel : Label\r
{\r
public static SizeF ScaleFactor { get; set; }\r
? CUDColor.Yellow\r
: cond >= 30\r
? PresetColor\r
- : cond >= 20 ? CUDColor.Orange : CUDColor.Red;\r
+ : cond >= 20\r
+ ? CUDColor.Orange\r
+ : CUDColor.Red;\r
}\r
\r
public void SetLevel(ShipStatus status)\r