OSDN Git Service

ステータスの空欄や止まっているタイマーを空白にする
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 29 Nov 2015 10:49:26 +0000 (19:49 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Wed, 2 Dec 2015 13:06:18 +0000 (22:06 +0900)
KancolleSniffer/MainForm.Designer.cs
KancolleSniffer/MainForm.cs
KancolleSniffer/ShipLabels.cs

index f72796d..4cf54b3 100644 (file)
@@ -578,13 +578,12 @@ namespace KancolleSniffer
             // \r
             // labelConstruct3\r
             // \r
-            this.labelConstruct3.AutoSize = true;\r
             this.labelConstruct3.BackColor = System.Drawing.Color.Transparent;\r
-            this.labelConstruct3.Location = new System.Drawing.Point(30, 33);\r
+            this.labelConstruct3.Location = new System.Drawing.Point(28, 33);\r
             this.labelConstruct3.Name = "labelConstruct3";\r
-            this.labelConstruct3.Size = new System.Drawing.Size(45, 12);\r
+            this.labelConstruct3.Size = new System.Drawing.Size(47, 12);\r
             this.labelConstruct3.TabIndex = 6;\r
-            this.labelConstruct3.Text = "00:00:00";\r
+            this.labelConstruct3.TextAlign = System.Drawing.ContentAlignment.TopRight;\r
             // \r
             // label12\r
             // \r
@@ -597,12 +596,11 @@ namespace KancolleSniffer
             // \r
             // labelConstruct4\r
             // \r
-            this.labelConstruct4.AutoSize = true;\r
-            this.labelConstruct4.Location = new System.Drawing.Point(30, 48);\r
+            this.labelConstruct4.Location = new System.Drawing.Point(28, 48);\r
             this.labelConstruct4.Name = "labelConstruct4";\r
-            this.labelConstruct4.Size = new System.Drawing.Size(45, 12);\r
+            this.labelConstruct4.Size = new System.Drawing.Size(47, 12);\r
             this.labelConstruct4.TabIndex = 7;\r
-            this.labelConstruct4.Text = "00:00:00";\r
+            this.labelConstruct4.TextAlign = System.Drawing.ContentAlignment.TopRight;\r
             // \r
             // label11\r
             // \r
@@ -615,12 +613,11 @@ namespace KancolleSniffer
             // \r
             // labelConstruct2\r
             // \r
-            this.labelConstruct2.AutoSize = true;\r
-            this.labelConstruct2.Location = new System.Drawing.Point(30, 18);\r
+            this.labelConstruct2.Location = new System.Drawing.Point(28, 18);\r
             this.labelConstruct2.Name = "labelConstruct2";\r
-            this.labelConstruct2.Size = new System.Drawing.Size(45, 12);\r
+            this.labelConstruct2.Size = new System.Drawing.Size(47, 12);\r
             this.labelConstruct2.TabIndex = 5;\r
-            this.labelConstruct2.Text = "00:00:00";\r
+            this.labelConstruct2.TextAlign = System.Drawing.ContentAlignment.TopRight;\r
             // \r
             // label10\r
             // \r
@@ -633,12 +630,11 @@ namespace KancolleSniffer
             // \r
             // labelConstruct1\r
             // \r
-            this.labelConstruct1.AutoSize = true;\r
-            this.labelConstruct1.Location = new System.Drawing.Point(30, 3);\r
+            this.labelConstruct1.Location = new System.Drawing.Point(28, 3);\r
             this.labelConstruct1.Name = "labelConstruct1";\r
-            this.labelConstruct1.Size = new System.Drawing.Size(45, 12);\r
+            this.labelConstruct1.Size = new System.Drawing.Size(47, 12);\r
             this.labelConstruct1.TabIndex = 4;\r
-            this.labelConstruct1.Text = "00:00:00";\r
+            this.labelConstruct1.TextAlign = System.Drawing.ContentAlignment.TopRight;\r
             // \r
             // label9\r
             // \r
@@ -721,7 +717,6 @@ namespace KancolleSniffer
             this.labelMission3.Name = "labelMission3";\r
             this.labelMission3.Size = new System.Drawing.Size(47, 12);\r
             this.labelMission3.TabIndex = 8;\r
-            this.labelMission3.Text = "00:00:00";\r
             this.labelMission3.TextAlign = System.Drawing.ContentAlignment.TopRight;\r
             this.labelMission3.Click += new System.EventHandler(this.labelMission_Click);\r
             // \r
@@ -731,7 +726,6 @@ namespace KancolleSniffer
             this.labelMission2.Name = "labelMission2";\r
             this.labelMission2.Size = new System.Drawing.Size(47, 12);\r
             this.labelMission2.TabIndex = 7;\r
-            this.labelMission2.Text = "00:00:00";\r
             this.labelMission2.TextAlign = System.Drawing.ContentAlignment.TopRight;\r
             this.labelMission2.Click += new System.EventHandler(this.labelMission_Click);\r
             // \r
@@ -741,7 +735,6 @@ namespace KancolleSniffer
             this.labelMission1.Name = "labelMission1";\r
             this.labelMission1.Size = new System.Drawing.Size(47, 12);\r
             this.labelMission1.TabIndex = 6;\r
-            this.labelMission1.Text = "00:00:00";\r
             this.labelMission1.TextAlign = System.Drawing.ContentAlignment.TopRight;\r
             this.labelMission1.Click += new System.EventHandler(this.labelMission_Click);\r
             // \r
index 112c430..23f9646 100644 (file)
@@ -159,7 +159,8 @@ namespace KancolleSniffer
             try\r
             {\r
                 var rx = new Regex(@"\\[uU]([0-9A-Fa-f]{4})");\r
-                return rx.Replace(s, match => ((char)int.Parse(match.Value.Substring(2), NumberStyles.HexNumber)).ToString());\r
+                return rx.Replace(s,\r
+                    match => ((char)int.Parse(match.Value.Substring(2), NumberStyles.HexNumber)).ToString());\r
             }\r
             catch (ArgumentException)\r
             {\r
@@ -682,11 +683,12 @@ namespace KancolleSniffer
                 entry.Timer.Update();\r
                 SetTimerColor(entry.label, entry.Timer);\r
                 var rest = entry.Timer.Rest;\r
-                entry.label.Text = _missionFinishTimeMode\r
-                    ? entry.Timer.EndTime == DateTime.MinValue\r
-                        ? "-------"\r
-                        : entry.Timer.EndTime.ToString(@"dd\ HH\:mm")\r
-                    : rest.ToString(@"hh\:mm\:ss");\r
+                entry.label.Text =\r
+                    entry.Timer.EndTime == DateTime.MinValue\r
+                        ? ""\r
+                        : _missionFinishTimeMode\r
+                            ? entry.Timer.EndTime.ToString(@"dd\ HH\:mm")\r
+                            : rest.ToString(@"hh\:mm\:ss");\r
                 if (!entry.Timer.NeedRing)\r
                     continue;\r
                 _noticeQueue.Enqueue("遠征が終わりました", entry.Name, _config.MissionSoundFile);\r
@@ -708,7 +710,8 @@ namespace KancolleSniffer
                 var timer = _sniffer.KDock[i];\r
                 timer.Update();\r
                 SetTimerColor(kdock[i], timer);\r
-                kdock[i].Text = timer.Rest.ToString(@"hh\:mm\:ss");\r
+\r
+                kdock[i].Text = timer.EndTime == DateTime.MinValue ? "" : timer.Rest.ToString(@"hh\:mm\:ss");\r
                 if (!timer.NeedRing)\r
                     continue;\r
                 _noticeQueue.Enqueue("建造が終わりました", $"第{i + 1:D}ドック", _config.KDockSoundFile);\r
index ddee0a3..965c6fd 100644 (file)
@@ -92,16 +92,24 @@ namespace KancolleSniffer
 \r
         public void SetShipInfo(ShipStatus[] statuses)\r
         {\r
-            var empty = new ShipStatus();\r
             for (var i = 0; i < _labels.Length; i++)\r
             {\r
                 var labels = _labels[i];\r
-                var s = i < statuses.Length ? statuses[i] : empty;\r
-                labels[0].SetHp(s);\r
-                labels[1].SetCond(s);\r
-                labels[2].SetLevel(s);\r
-                labels[3].SetExpToNext(s);\r
-                labels[4].SetName(s);\r
+                if (i < statuses.Length)\r
+                {\r
+                    var s = statuses[i];\r
+                    labels[0].SetHp(s);\r
+                    labels[1].SetCond(s);\r
+                    labels[2].SetLevel(s);\r
+                    labels[3].SetExpToNext(s);\r
+                    labels[4].SetName(s);\r
+                }\r
+                else\r
+                {\r
+                    labels[0].Text = labels[1].Text = labels[2].Text = labels[3].Text = "";\r
+                    labels[4].SetName("");\r
+                    labels[0].BackColor = labels[1].BackColor = labels[0].PresetColor;\r
+                }\r
             }\r
         }\r
 \r
@@ -291,10 +299,9 @@ namespace KancolleSniffer
                     {\r
                         new ShipLabel\r
                         {\r
-                            Location = new Point(93, y),\r
+                            Location = new Point(138, y),\r
                             AutoSize = true,\r
-                            AnchorRight = true,\r
-                            Text = "00:00:00"\r
+                            AnchorRight = true\r
                         },\r
                         new ShipLabel {Location = new Point(29, y), AutoSize = true} // 名前のZ-orderを下に\r
                     });\r
@@ -317,10 +324,17 @@ namespace KancolleSniffer
         {\r
             var label = _ndockLabels[dock][0];\r
             label.ForeColor = timer.IsFinished ? Color.Red : Color.Black;\r
-            if (finishTime)\r
-                label.SetRepairFinishTime(timer.EndTime);\r
+            if (timer.EndTime == DateTime.MinValue)\r
+            {\r
+                label.Text = "";\r
+            }\r
             else\r
-                label.SetRepairTime(timer.Rest);\r
+            {\r
+                if (finishTime)\r
+                    label.Text = timer.EndTime.ToString(@"dd\ HH\:mm");\r
+                else\r
+                    label.SetRepairTime(timer.Rest);\r
+            }\r
         }\r
     }\r
 \r
@@ -372,12 +386,6 @@ namespace KancolleSniffer
 \r
         public void SetCond(ShipStatus status)\r
         {\r
-            if (status.Level == 0)\r
-            {\r
-                Text = "0";\r
-                BackColor = PresetColor;\r
-                return;\r
-            }\r
             var cond = status.Cond;\r
             Text = cond.ToString("D");\r
             BackColor = cond >= 50\r
@@ -407,11 +415,6 @@ namespace KancolleSniffer
             Text = $@"{(int)span.TotalHours:d2}:{span:mm\:ss}";\r
         }\r
 \r
-        public void SetRepairFinishTime(DateTime time)\r
-        {\r
-            Text = time == DateTime.MinValue ? "-------" : time.ToString(@"dd\ HH\:mm");\r
-        }\r
-\r
         public void SetFleet(ShipStatus status)\r
         {\r
             Text = new[] {"", "1", "2", "3", "4"}[status.Fleet + 1];\r