OSDN Git Service

新たに追加された出撃任務で例外が発生するのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 1 Jan 2016 02:37:20 +0000 (11:37 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 1 Jan 2016 03:51:34 +0000 (12:51 +0900)
KancolleSniffer/MainForm.cs
KancolleSniffer/QuestInfo.cs

index 3f6a0a7..faafce5 100644 (file)
@@ -200,7 +200,6 @@ namespace KancolleSniffer
 \r
         private void MainForm_Load(object sender, EventArgs e)\r
         {\r
-\r
             RestoreLocation();\r
             if (_config.HideOnMinimized && WindowState == FormWindowState.Minimized)\r
                 ShowInTaskbar = false;\r
@@ -823,19 +822,12 @@ namespace KancolleSniffer
             var name = new[] {labelQuest1, labelQuest2, labelQuest3, labelQuest4, labelQuest5, labelQuest6};\r
             var progress = new[]\r
             {labelProgress1, labelProgress2, labelProgress3, labelProgress4, labelProgress5, labelProgress6};\r
-            var color = new[]\r
-            {\r
-                Color.FromArgb(60, 141, 76), Color.FromArgb(232, 57, 41), Color.FromArgb(136, 204, 120),\r
-                Color.FromArgb(52, 147, 185), Color.FromArgb(220, 198, 126), Color.FromArgb(168, 111, 76),\r
-                Color.FromArgb(200, 148, 231)\r
-            };\r
-\r
             var quests = _sniffer.Quests;\r
             for (var i = 0; i < name.Length; i++)\r
             {\r
                 if (i < quests.Length)\r
                 {\r
-                    category[i].BackColor = color[quests[i].Category - 1];\r
+                    category[i].BackColor = quests[i].Color;\r
                     name[i].Text = quests[i].Name;\r
                     progress[i].Text = $"{quests[i].Progress:D}%";\r
                 }\r
index 147adb4..edba2c9 100644 (file)
@@ -14,7 +14,9 @@
 \r
 using System;\r
 using System.Collections.Generic;\r
+using System.Drawing;\r
 using System.Linq;\r
+using System.Windows.Forms;\r
 \r
 namespace KancolleSniffer\r
 {\r
@@ -23,6 +25,7 @@ namespace KancolleSniffer
         public int Category { get; set; }\r
         public string Name { get; set; }\r
         public int Progress { get; set; }\r
+        public Color Color { get; set; }\r
     }\r
 \r
     public class QuestInfo\r
@@ -30,6 +33,13 @@ namespace KancolleSniffer
         private DateTime _lastCreared;\r
         private readonly SortedDictionary<int, QuestStatus> _quests = new SortedDictionary<int, QuestStatus>();\r
 \r
+        private readonly Color[] _color =\r
+        {\r
+            Color.FromArgb(60, 141, 76), Color.FromArgb(232, 57, 41), Color.FromArgb(136, 204, 120),\r
+            Color.FromArgb(52, 147, 185), Color.FromArgb(220, 198, 126), Color.FromArgb(168, 111, 76),\r
+            Color.FromArgb(200, 148, 231), Color.FromArgb(232, 57, 41)\r
+        };\r
+\r
         public int QuestCount { get; set; }\r
 \r
         public void Inspect(dynamic json)\r
@@ -69,7 +79,13 @@ namespace KancolleSniffer
                     switch (state)\r
                     {\r
                         case 2:\r
-                            _quests[id] = new QuestStatus {Category = cat, Name = name, Progress = progress};\r
+                            _quests[id] = new QuestStatus\r
+                            {\r
+                                Category = cat,\r
+                                Name = name,\r
+                                Progress = progress,\r
+                                Color = cat <= _color.Length ? _color[cat - 1] : Control.DefaultBackColor\r
+                            };\r
                             break;\r
                         case 1:\r
                         case 3:\r