OSDN Git Service

第二~四艦隊の情報も表示できるようにする
authorKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Sun, 20 Apr 2014 15:51:36 +0000 (00:51 +0900)
committerKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Mon, 21 Apr 2014 07:10:36 +0000 (16:10 +0900)
KancolleSniffer/MainForm.Designer.cs
KancolleSniffer/MainForm.cs
KancolleSniffer/MainForm.resx
KancolleSniffer/ShipInfo.cs
KancolleSniffer/Sniffer.cs

index 006b851..d256fd4 100644 (file)
@@ -54,7 +54,6 @@ namespace KancolleSniffer
             this.label2 = new System.Windows.Forms.Label();\r
             this.labelNumOfShips = new System.Windows.Forms.Label();\r
             this.label1 = new System.Windows.Forms.Label();\r
-            this.labelFleet1 = new System.Windows.Forms.Label();\r
             this.panelFleet1 = new System.Windows.Forms.Panel();\r
             this.label21 = new System.Windows.Forms.Label();\r
             this.labelCondTimer3 = new System.Windows.Forms.Label();\r
@@ -164,6 +163,15 @@ namespace KancolleSniffer
             this.label25 = new System.Windows.Forms.Label();\r
             this.label24 = new System.Windows.Forms.Label();\r
             this.label23 = new System.Windows.Forms.Label();\r
+            this.labelFleet1 = new System.Windows.Forms.Label();\r
+            this.labelCheckFleet1 = new System.Windows.Forms.Label();\r
+            this.imageListMisc = new System.Windows.Forms.ImageList(this.components);\r
+            this.labelCheckFleet4 = new System.Windows.Forms.Label();\r
+            this.labelFleet4 = new System.Windows.Forms.Label();\r
+            this.labelCheckFleet3 = new System.Windows.Forms.Label();\r
+            this.labelFleet3 = new System.Windows.Forms.Label();\r
+            this.labelCheckFleet2 = new System.Windows.Forms.Label();\r
+            this.labelFleet2 = new System.Windows.Forms.Label();\r
             this.panelHeadquarters.SuspendLayout();\r
             this.panelFleet1.SuspendLayout();\r
             this.panelDock.SuspendLayout();\r
@@ -242,15 +250,6 @@ namespace KancolleSniffer
             this.label1.TabIndex = 0;\r
             this.label1.Text = "艦娘数";\r
             // \r
-            // labelFleet1\r
-            // \r
-            this.labelFleet1.AutoSize = true;\r
-            this.labelFleet1.Location = new System.Drawing.Point(13, 50);\r
-            this.labelFleet1.Name = "labelFleet1";\r
-            this.labelFleet1.Size = new System.Drawing.Size(53, 12);\r
-            this.labelFleet1.TabIndex = 1;\r
-            this.labelFleet1.Text = "第一艦隊";\r
-            // \r
             // panelFleet1\r
             // \r
             this.panelFleet1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
@@ -1278,12 +1277,104 @@ namespace KancolleSniffer
             this.label23.TabIndex = 0;\r
             this.label23.Text = "第一艦隊";\r
             // \r
+            // labelFleet1\r
+            // \r
+            this.labelFleet1.AutoSize = true;\r
+            this.labelFleet1.Location = new System.Drawing.Point(20, 51);\r
+            this.labelFleet1.Name = "labelFleet1";\r
+            this.labelFleet1.Size = new System.Drawing.Size(53, 12);\r
+            this.labelFleet1.TabIndex = 1;\r
+            this.labelFleet1.Text = "第一艦隊";\r
+            this.labelFleet1.Click += new System.EventHandler(this.labelFleet_Click);\r
+            // \r
+            // labelCheckFleet1\r
+            // \r
+            this.labelCheckFleet1.ImageIndex = 0;\r
+            this.labelCheckFleet1.ImageList = this.imageListMisc;\r
+            this.labelCheckFleet1.Location = new System.Drawing.Point(11, 49);\r
+            this.labelCheckFleet1.Name = "labelCheckFleet1";\r
+            this.labelCheckFleet1.Size = new System.Drawing.Size(11, 14);\r
+            this.labelCheckFleet1.TabIndex = 16;\r
+            // \r
+            // imageListMisc\r
+            // \r
+            this.imageListMisc.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListMisc.ImageStream")));\r
+            this.imageListMisc.TransparentColor = System.Drawing.Color.Transparent;\r
+            this.imageListMisc.Images.SetKeyName(0, "sankaku.png");\r
+            // \r
+            // labelCheckFleet4\r
+            // \r
+            this.labelCheckFleet4.ImageIndex = 0;\r
+            this.labelCheckFleet4.ImageList = this.imageListMisc;\r
+            this.labelCheckFleet4.Location = new System.Drawing.Point(197, 49);\r
+            this.labelCheckFleet4.Name = "labelCheckFleet4";\r
+            this.labelCheckFleet4.Size = new System.Drawing.Size(11, 14);\r
+            this.labelCheckFleet4.TabIndex = 18;\r
+            this.labelCheckFleet4.Visible = false;\r
+            // \r
+            // labelFleet4\r
+            // \r
+            this.labelFleet4.AutoSize = true;\r
+            this.labelFleet4.Location = new System.Drawing.Point(206, 51);\r
+            this.labelFleet4.Name = "labelFleet4";\r
+            this.labelFleet4.Size = new System.Drawing.Size(53, 12);\r
+            this.labelFleet4.TabIndex = 17;\r
+            this.labelFleet4.Text = "第四艦隊";\r
+            this.labelFleet4.Click += new System.EventHandler(this.labelFleet_Click);\r
+            // \r
+            // labelCheckFleet3\r
+            // \r
+            this.labelCheckFleet3.ImageIndex = 0;\r
+            this.labelCheckFleet3.ImageList = this.imageListMisc;\r
+            this.labelCheckFleet3.Location = new System.Drawing.Point(135, 49);\r
+            this.labelCheckFleet3.Name = "labelCheckFleet3";\r
+            this.labelCheckFleet3.Size = new System.Drawing.Size(11, 14);\r
+            this.labelCheckFleet3.TabIndex = 20;\r
+            this.labelCheckFleet3.Visible = false;\r
+            // \r
+            // labelFleet3\r
+            // \r
+            this.labelFleet3.AutoSize = true;\r
+            this.labelFleet3.Location = new System.Drawing.Point(144, 51);\r
+            this.labelFleet3.Name = "labelFleet3";\r
+            this.labelFleet3.Size = new System.Drawing.Size(53, 12);\r
+            this.labelFleet3.TabIndex = 19;\r
+            this.labelFleet3.Text = "第三艦隊";\r
+            this.labelFleet3.Click += new System.EventHandler(this.labelFleet_Click);\r
+            // \r
+            // labelCheckFleet2\r
+            // \r
+            this.labelCheckFleet2.ImageIndex = 0;\r
+            this.labelCheckFleet2.ImageList = this.imageListMisc;\r
+            this.labelCheckFleet2.Location = new System.Drawing.Point(73, 49);\r
+            this.labelCheckFleet2.Name = "labelCheckFleet2";\r
+            this.labelCheckFleet2.Size = new System.Drawing.Size(11, 14);\r
+            this.labelCheckFleet2.TabIndex = 22;\r
+            this.labelCheckFleet2.Visible = false;\r
+            // \r
+            // labelFleet2\r
+            // \r
+            this.labelFleet2.AutoSize = true;\r
+            this.labelFleet2.Location = new System.Drawing.Point(82, 51);\r
+            this.labelFleet2.Name = "labelFleet2";\r
+            this.labelFleet2.Size = new System.Drawing.Size(53, 12);\r
+            this.labelFleet2.TabIndex = 21;\r
+            this.labelFleet2.Text = "第二艦隊";\r
+            this.labelFleet2.Click += new System.EventHandler(this.labelFleet_Click);\r
+            // \r
             // MainForm\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
             this.ClientSize = new System.Drawing.Size(283, 527);\r
             this.ContextMenuStrip = this.contextMenuStripToolTip;\r
+            this.Controls.Add(this.labelCheckFleet2);\r
+            this.Controls.Add(this.labelFleet2);\r
+            this.Controls.Add(this.labelCheckFleet3);\r
+            this.Controls.Add(this.labelFleet3);\r
+            this.Controls.Add(this.labelCheckFleet4);\r
+            this.Controls.Add(this.labelFleet4);\r
+            this.Controls.Add(this.labelCheckFleet1);\r
             this.Controls.Add(this.panel4);\r
             this.Controls.Add(this.label22);\r
             this.Controls.Add(this.panel3);\r
@@ -1332,7 +1423,6 @@ namespace KancolleSniffer
         private System.Windows.Forms.Label label2;\r
         private System.Windows.Forms.Label labelNumOfShips;\r
         private System.Windows.Forms.Label label1;\r
-        private System.Windows.Forms.Label labelFleet1;\r
         private System.Windows.Forms.Panel panelFleet1;\r
         private System.Windows.Forms.Label labelShip6;\r
         private System.Windows.Forms.Label labelShip5;\r
@@ -1442,6 +1532,15 @@ namespace KancolleSniffer
         private System.Windows.Forms.Label labelFuel2;\r
         private System.Windows.Forms.ImageList imageListBull;\r
         private System.Windows.Forms.ImageList imageListFuel;\r
+        private System.Windows.Forms.Label labelFleet1;\r
+        private System.Windows.Forms.Label labelCheckFleet1;\r
+        private System.Windows.Forms.ImageList imageListMisc;\r
+        private System.Windows.Forms.Label labelCheckFleet4;\r
+        private System.Windows.Forms.Label labelFleet4;\r
+        private System.Windows.Forms.Label labelCheckFleet3;\r
+        private System.Windows.Forms.Label labelFleet3;\r
+        private System.Windows.Forms.Label labelCheckFleet2;\r
+        private System.Windows.Forms.Label labelFleet2;\r
     }\r
 }\r
 \r
index b537492..a7d5841 100644 (file)
@@ -32,6 +32,8 @@ namespace KancolleSniffer
         private readonly Config _config = new Config();\r
         private readonly ConfigDialog _configDialog = new ConfigDialog();\r
         private readonly int _labelRightDistance;\r
+        private int _currentFleet;\r
+        private readonly Label[] _labelCheckFleets;\r
 \r
         public MainForm()\r
         {\r
@@ -40,6 +42,10 @@ namespace KancolleSniffer
             _wmp.PlayStateChange += new EventHandler(_wmp_PlayStateChange);\r
             _configDialog.Tag = _config;\r
             _labelRightDistance = labelHP1.Parent.Width - labelHP1.Right;\r
+            _labelCheckFleets = new[] {labelCheckFleet1, labelCheckFleet2, labelCheckFleet3, labelCheckFleet4};\r
+            var i = 0;\r
+            foreach (var label in new[] {labelFleet1, labelFleet2, labelFleet3, labelFleet4})\r
+                label.Tag = i++;\r
         }\r
 \r
         private void FiddlerApplication_AfterSessionComplete(Session oSession)\r
@@ -162,7 +168,7 @@ namespace KancolleSniffer
 \r
             for (var i = 0; i < name.Length; i++)\r
             {\r
-                var stat = _sniffer.ShipStatuses[i];\r
+                var stat = _sniffer.GetShipStatuses(_currentFleet)[i];\r
                 name[i].Text = stat.Name;\r
                 lv[i].Text = stat.Level.ToString("D");\r
                 SetHpLavel(hp[i], stat.NowHp, stat.MaxHp);\r
@@ -260,7 +266,7 @@ namespace KancolleSniffer
         {\r
             var now = DateTime.Now;\r
             foreach (var entry in\r
-                new[] {labelCondTimer1, labelCondTimer2, labelCondTimer3}.Zip(_sniffer.RecoveryTimes,\r
+                new[] {labelCondTimer1, labelCondTimer2, labelCondTimer3}.Zip(_sniffer.GetRecoveryTimes(_currentFleet),\r
                     (label, time) => new {label, time}))\r
                 entry.label.Text = entry.time > now ? (entry.time - now).ToString(@"mm\:ss") : "00:00";\r
         }\r
@@ -302,5 +308,18 @@ namespace KancolleSniffer
             if (_wmp.playState == 8) // MediaEnded\r
                 _wmp.URL = ""; // 再生したファイルが差し替えできなくなるのを防ぐ。\r
         }\r
+\r
+        private void labelFleet_Click(object sender, EventArgs e)\r
+        {\r
+            var fleet = (int)((Label)sender).Tag;\r
+            if (_currentFleet == fleet)\r
+                return;\r
+            _currentFleet = fleet;\r
+            foreach (var label in _labelCheckFleets)\r
+                label.Visible = false;\r
+            _labelCheckFleets[fleet].Visible = true;\r
+            UpdateShipInfo();\r
+            UpdateCondTimers();\r
+        }\r
     }\r
 }
\ No newline at end of file
index 6ea1328..e37f3ed 100644 (file)
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA+\r
-        CwAAAk1TRnQBSQFMAgEBBQEAAUABAAFAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
+        CwAAAk1TRnQBSQFMAgEBBQEAAWABAAFgAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
         AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
         AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
         AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABu\r
-        CwAAAk1TRnQBSQFMAgEBBQEAAUABAAFAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
+        CwAAAk1TRnQBSQFMAgEBBQEAAWABAAFgAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
         AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
         AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
         AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
         AQABPwEAAT8C/wEAAT8BAAF/AQABPwL/AQABfwEAAX8BAAF/Av8BAAF/AQABfwEAAX8L\r
 </value>\r
   </data>\r
+  <metadata name="imageListMisc.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
+    <value>735, 17</value>\r
+  </metadata>\r
+  <data name="imageListMisc.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">\r
+    <value>\r
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
+        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
+        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABm\r
+        BwAAAk1TRnQBSQFMAwEBAAEYAQABGAEAAQcBAAEPAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA\r
+        ARwDAAEPAwABAQEAAQgFAAGkAQEYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
+        AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
+        AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
+        AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm\r
+        AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM\r
+        AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA\r
+        ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz\r
+        AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ\r
+        AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM\r
+        AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA\r
+        AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA\r
+        AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ\r
+        AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/\r
+        AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA\r
+        AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm\r
+        ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ\r
+        Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz\r
+        AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA\r
+        AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM\r
+        AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM\r
+        ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM\r
+        Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA\r
+        AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM\r
+        AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ\r
+        AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz\r
+        AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm\r
+        AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw\r
+        AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEAAfMbAAEQAfQbAAEU\r
+        Af8bAAFtAf8bAAHsAf8bAAGSHAABBxwAAfQaAAEHGgAB7xoAAewaAAFtAf8ZAAESAf8ZAAERAf8aAAHz\r
+        GwABQgFNAT4HAAE+AwABKAMAARwDAAEPAwABAQEAAQEFAAE8FwAD/wEAAX4DAAE+AwABHgMAAQ4DAAEG\r
+        AwABBgMAAQIHAAECAwABBgMAAQ4DAAEOAwABHgMAAT4DAAF+AwAL\r
+</value>\r
+  </data>\r
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
     <value>\r
         AAABAAQAQEAAAAEAIAAoQAAARgAAACAgAAABACAAKBAAAG5AAAAYGAAAAQAgACgJAACWUAAAEBAAAAEA\r
index ce5490f..375fdd5 100644 (file)
@@ -44,11 +44,9 @@ namespace KancolleSniffer
     {\r
         private readonly int[][] _decks = new int[4][];\r
         private readonly Dictionary<int, ShipStatus> _shipInfo = new Dictionary<int, ShipStatus>();\r
-        private readonly DateTime[] _recoveryTimes = new DateTime[3];\r
+        private readonly DateTime[][] _recoveryTimes = {new DateTime[3], new DateTime[3], new DateTime[3], new DateTime[3]};\r
         private readonly ShipMaster _shipMaster;\r
 \r
-        public string FleetName { get; set; }\r
-\r
         public ShipInfo(ShipMaster shipMaster)\r
         {\r
             _shipMaster = shipMaster;\r
@@ -57,9 +55,9 @@ namespace KancolleSniffer
                 _decks[i] = new[] {-1, -1, -1, -1, -1, -1};\r
         }\r
 \r
-        public DateTime[] RecoveryTimes\r
+        public DateTime[] GetRecoveryTimes(int fleet)\r
         {\r
-            get { return _recoveryTimes; }\r
+            return _recoveryTimes[fleet];\r
         }\r
 \r
         public string GetNameById(int id)\r
@@ -73,8 +71,6 @@ namespace KancolleSniffer
             foreach (var entry in json)\r
             {\r
                 var fleet = (int)entry.api_id;\r
-                if (fleet == 1)\r
-                    FleetName = (string)entry.api_name;\r
                 var deck = _decks[fleet - 1];\r
                 for (var i = 0; i < deck.Length; i++)\r
                     deck[i] = (int)entry.api_ship[i];\r
@@ -108,35 +104,35 @@ namespace KancolleSniffer
 \r
         private void SetRecoveryTime()\r
         {\r
-            var cond =\r
-                (from id in _decks[0] where _shipInfo.ContainsKey(id) select _shipInfo[id].Cond).DefaultIfEmpty(49)\r
-                    .Min();\r
-            if (cond < 49 && _recoveryTimes[2] != DateTime.MinValue) // 計時中\r
+            for (var fleet = 0; fleet < 4; fleet++)\r
             {\r
-                // コンディション値から推定される残り時刻と経過時間の差\r
-                var diff = TimeSpan.FromMinutes((49 - cond + 2) / 3 * 3) - (_recoveryTimes[2] - DateTime.Now);\r
-                if (diff >= TimeSpan.Zero && diff <= TimeSpan.FromMinutes(3)) // 差が0以上3分以内ならタイマーを更新しない。\r
-                    return;\r
+                var cond =\r
+                    (from id in _decks[fleet] where _shipInfo.ContainsKey(id) select _shipInfo[id].Cond).DefaultIfEmpty(49)\r
+                        .Min();\r
+                if (cond < 49 && _recoveryTimes[fleet][2] != DateTime.MinValue) // 計時中\r
+                {\r
+                    // コンディション値から推定される残り時刻と経過時間の差\r
+                    var diff = TimeSpan.FromMinutes((49 - cond + 2) / 3 * 3) - (_recoveryTimes[fleet][2] - DateTime.Now);\r
+                    if (diff >= TimeSpan.Zero && diff <= TimeSpan.FromMinutes(3)) // 差が0以上3分以内ならタイマーを更新しない。\r
+                        return;\r
+                }\r
+                var thresh = new[] {30, 40, 49};\r
+                for (var i = 0; i < thresh.Length; i++)\r
+                    _recoveryTimes[fleet][i] = cond < thresh[i]\r
+                        ? DateTime.Now.AddMinutes((thresh[i] - cond + 2) / 3 * 3)\r
+                        : DateTime.MinValue;\r
             }\r
-            var thresh = new[] {30, 40, 49};\r
-            for (var i = 0; i < thresh.Length; i++)\r
-                _recoveryTimes[i] = cond < thresh[i]\r
-                    ? DateTime.Now.AddMinutes((thresh[i] - cond + 2) / 3 * 3)\r
-                    : DateTime.MinValue;\r
         }\r
 \r
-        public ShipStatus[] ShipStatuses\r
+        public ShipStatus[] GetShipStatuses(int fleet)\r
         {\r
-            get\r
+            return _decks[fleet].Select(id =>\r
             {\r
-                return _decks[0].Select(id =>\r
-                {\r
-                    ShipStatus status;\r
-                    if (_shipInfo.TryGetValue(id, out status))\r
-                        status.Name = _shipMaster.GetSpec(status.ShipId).Name;\r
-                    return status;\r
-                }).ToArray();\r
-            }\r
+                ShipStatus status;\r
+                if (_shipInfo.TryGetValue(id, out status))\r
+                    status.Name = _shipMaster.GetSpec(status.ShipId).Name;\r
+                return status;\r
+            }).ToArray();\r
         }\r
 \r
         public ChargeStatus[] ChargeStatuses\r
index be3acf7..b356554 100644 (file)
@@ -146,19 +146,14 @@ namespace KancolleSniffer
             get { return _missionInfo.Missions; }\r
         }\r
 \r
-        public string FleetName\r
+        public DateTime[] GetRecoveryTimes(int fleet)\r
         {\r
-            get { return _shipInfo.FleetName; }\r
+            return _shipInfo.GetRecoveryTimes(fleet);\r
         }\r
 \r
-        public DateTime[] RecoveryTimes\r
+        public ShipStatus[] GetShipStatuses(int fleet)\r
         {\r
-            get { return _shipInfo.RecoveryTimes; }\r
-        }\r
-\r
-        public ShipStatus[] ShipStatuses\r
-        {\r
-            get { return _shipInfo.ShipStatuses; }\r
+            return _shipInfo.GetShipStatuses(fleet);\r
         }\r
 \r
         public ChargeStatus[] ChargeStatuses\r