OSDN Git Service

起動中に稼いだ戦果を表示する
authorKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Sat, 7 Jun 2014 15:14:16 +0000 (00:14 +0900)
committerKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Sun, 8 Jun 2014 13:31:44 +0000 (22:31 +0900)
KancolleSniffer/Achievement.cs [new file with mode: 0644]
KancolleSniffer/KancolleSniffer.csproj
KancolleSniffer/MainForm.Designer.cs
KancolleSniffer/MainForm.cs
KancolleSniffer/Sniffer.cs

diff --git a/KancolleSniffer/Achievement.cs b/KancolleSniffer/Achievement.cs
new file mode 100644 (file)
index 0000000..033af3f
--- /dev/null
@@ -0,0 +1,34 @@
+// Copyright (C) 2014 Kazuhiro Fujieda <fujieda@users.sourceforge.jp>\r
+// \r
+// This program is part of KancolleSniffer.\r
+//\r
+// KancolleSniffer is free software: you can redistribute it and/or modify\r
+// it under the terms of the GNU General Public License as published by\r
+// the Free Software Foundation, either version 3 of the License, or\r
+// (at your option) any later version.\r
+//\r
+// This program is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+// GNU General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU General Public License\r
+// along with this program; if not, see <http://www.gnu.org/licenses/>.\r
+\r
+namespace KancolleSniffer\r
+{\r
+    public class Achievement\r
+    {\r
+        private int _start;\r
+        private int _current;\r
+\r
+        public double Value { get { return (_current - _start) / 1428.0; } }\r
+\r
+        public void InspectBasic(dynamic json)\r
+        {\r
+            _current = (int)json.api_experience;\r
+            if (_start == 0)\r
+                _start = _current;\r
+        }\r
+    }\r
+}
\ No newline at end of file
index 9b0dddd..268c7b3 100644 (file)
@@ -56,6 +56,7 @@
     <Reference Include="System.Windows.Forms" />\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <Compile Include="Achievement.cs" />\r
     <Compile Include="AkashiTimer.cs" />\r
     <Compile Include="Config.cs" />\r
     <Compile Include="ConfigDialog.cs">\r
index a7a39d7..0d3a510 100644 (file)
@@ -176,6 +176,8 @@ namespace KancolleSniffer
             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.label28 = new System.Windows.Forms.Label();\r
+            this.labelAchievement = new System.Windows.Forms.Label();\r
             this.panelHeadquarters.SuspendLayout();\r
             this.panelFleet1.SuspendLayout();\r
             this.panelDock.SuspendLayout();\r
@@ -190,6 +192,8 @@ namespace KancolleSniffer
             // \r
             this.panelHeadquarters.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
             this.panelHeadquarters.Controls.Add(this.labelLogin);\r
+            this.panelHeadquarters.Controls.Add(this.labelAchievement);\r
+            this.panelHeadquarters.Controls.Add(this.label28);\r
             this.panelHeadquarters.Controls.Add(this.labelNumOfBuckets);\r
             this.panelHeadquarters.Controls.Add(this.label3);\r
             this.panelHeadquarters.Controls.Add(this.labelNumOfEquips);\r
@@ -213,7 +217,7 @@ namespace KancolleSniffer
             // \r
             // labelNumOfBuckets\r
             // \r
-            this.labelNumOfBuckets.Location = new System.Drawing.Point(120, 19);\r
+            this.labelNumOfBuckets.Location = new System.Drawing.Point(118, 19);\r
             this.labelNumOfBuckets.Name = "labelNumOfBuckets";\r
             this.labelNumOfBuckets.Size = new System.Drawing.Size(29, 12);\r
             this.labelNumOfBuckets.TabIndex = 5;\r
@@ -223,7 +227,7 @@ namespace KancolleSniffer
             // label3\r
             // \r
             this.label3.AutoSize = true;\r
-            this.label3.Location = new System.Drawing.Point(116, 4);\r
+            this.label3.Location = new System.Drawing.Point(114, 4);\r
             this.label3.Name = "label3";\r
             this.label3.Size = new System.Drawing.Size(33, 12);\r
             this.label3.TabIndex = 4;\r
@@ -231,7 +235,7 @@ namespace KancolleSniffer
             // \r
             // labelNumOfEquips\r
             // \r
-            this.labelNumOfEquips.Location = new System.Drawing.Point(55, 19);\r
+            this.labelNumOfEquips.Location = new System.Drawing.Point(57, 19);\r
             this.labelNumOfEquips.Name = "labelNumOfEquips";\r
             this.labelNumOfEquips.Size = new System.Drawing.Size(47, 12);\r
             this.labelNumOfEquips.TabIndex = 3;\r
@@ -241,7 +245,7 @@ namespace KancolleSniffer
             // label2\r
             // \r
             this.label2.AutoSize = true;\r
-            this.label2.Location = new System.Drawing.Point(61, 4);\r
+            this.label2.Location = new System.Drawing.Point(63, 4);\r
             this.label2.Name = "label2";\r
             this.label2.Size = new System.Drawing.Size(41, 12);\r
             this.label2.TabIndex = 2;\r
@@ -249,7 +253,7 @@ namespace KancolleSniffer
             // \r
             // labelNumOfShips\r
             // \r
-            this.labelNumOfShips.Location = new System.Drawing.Point(0, 19);\r
+            this.labelNumOfShips.Location = new System.Drawing.Point(2, 19);\r
             this.labelNumOfShips.Name = "labelNumOfShips";\r
             this.labelNumOfShips.Size = new System.Drawing.Size(47, 12);\r
             this.labelNumOfShips.TabIndex = 1;\r
@@ -259,7 +263,7 @@ namespace KancolleSniffer
             // label1\r
             // \r
             this.label1.AutoSize = true;\r
-            this.label1.Location = new System.Drawing.Point(6, 4);\r
+            this.label1.Location = new System.Drawing.Point(8, 4);\r
             this.label1.Name = "label1";\r
             this.label1.Size = new System.Drawing.Size(41, 12);\r
             this.label1.TabIndex = 0;\r
@@ -1407,6 +1411,24 @@ namespace KancolleSniffer
             this.labelFleet2.Text = "第二艦隊";\r
             this.labelFleet2.Click += new System.EventHandler(this.labelFleet_Click);\r
             // \r
+            // label28\r
+            // \r
+            this.label28.AutoSize = true;\r
+            this.label28.Location = new System.Drawing.Point(162, 4);\r
+            this.label28.Name = "label28";\r
+            this.label28.Size = new System.Drawing.Size(29, 12);\r
+            this.label28.TabIndex = 6;\r
+            this.label28.Text = "戦果";\r
+            // \r
+            // labelAchievement\r
+            // \r
+            this.labelAchievement.Location = new System.Drawing.Point(148, 19);\r
+            this.labelAchievement.Name = "labelAchievement";\r
+            this.labelAchievement.Size = new System.Drawing.Size(43, 12);\r
+            this.labelAchievement.TabIndex = 7;\r
+            this.labelAchievement.Text = "0.0";\r
+            this.labelAchievement.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
+            // \r
             // MainForm\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
@@ -1590,6 +1612,8 @@ namespace KancolleSniffer
         private System.Windows.Forms.Label label27;\r
         private System.Windows.Forms.Label labelLogin;\r
         private System.Windows.Forms.Label labelAkashiTimer;\r
+        private System.Windows.Forms.Label labelAchievement;\r
+        private System.Windows.Forms.Label label28;\r
     }\r
 }\r
 \r
index c99f02d..b250661 100644 (file)
@@ -148,6 +148,7 @@ namespace KancolleSniffer
             }\r
             labelNumOfEquips.Text = string.Format("{0:D}/{1:D}", item.NowItems, item.MaxItems);\r
             labelNumOfBuckets.Text = item.NumBuckets.ToString("D");\r
+            labelAchievement.Text = _sniffer.Achievement.ToString("F1");\r
         }\r
 \r
         private void UpdateMissionLabels()\r
index 9cb2a07..8825c69 100644 (file)
@@ -29,6 +29,7 @@ namespace KancolleSniffer
         private readonly ShipInfo _shipInfo;\r
         private readonly DockInfo _dockInfo;\r
         private readonly AkashiTimer _akashiTimer;\r
+        private readonly Achievement _achievement = new Achievement();\r
 \r
         [Flags]\r
         public enum Update\r
@@ -73,6 +74,7 @@ namespace KancolleSniffer
                 _missionInfo.InspectDeck(data.api_deck_port);\r
                 _dockInfo.InspectNDock(data.api_ndock);\r
                 _akashiTimer.SetTimer(true);\r
+                _achievement.InspectBasic(data.api_basic);\r
                 return Update.All;\r
             }\r
             if (url.EndsWith("api_get_member/basic"))\r
@@ -216,6 +218,8 @@ namespace KancolleSniffer
         {\r
             return _akashiTimer[fleet];\r
         }\r
+\r
+        public double Achievement { get { return _achievement.Value; } }\r
     }\r
 \r
     public class NameAndTimer\r