OSDN Git Service

資材ログの出力を母港に戻ったときだけにする
authorKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Sat, 20 Dec 2014 06:55:07 +0000 (15:55 +0900)
committerKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Sat, 27 Dec 2014 03:24:32 +0000 (12:24 +0900)
KancolleSniffer.Test/LoggerTest.cs
KancolleSniffer/Logger.cs
KancolleSniffer/ShipInfo.cs
KancolleSniffer/Sniffer.cs

index 9bad7f3..e938d2a 100644 (file)
@@ -162,13 +162,8 @@ namespace KancolleSniffer.Test
             sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
             sniffer.EnableLog(LogType.Material);\r
             SnifferTest.SniffLogFile(sniffer, "material_001");\r
-            PAssert.That(() => "2015-01-01 00:00:00,26178,26742,21196,33750,1426,1574,2185,10,母港|" +\r
-                               "2015-01-01 00:00:00,26178,26842,21226,33750,1426,1575,2185,10,遠征|" +\r
-                               "2015-01-01 00:00:00,28951,29493,24945,35580,1426,1575,2185,10,補給|" +\r
-                               "2015-01-01 00:00:00,26074,26616,21068,33700,1426,1572,2183,10,建造|" +\r
-                               "2015-01-01 00:00:00,26171,26721,21175,33750,1426,1574,2185,10,任務|" +\r
-                               "2015-01-01 00:00:00,27023,27829,28136,42404,1404,1521,2142,15,改造|" +\r
-                               "2015-01-01 00:00:00,31208,29819,29714,42345,1407,1530,2155,13,開発|"\r
+            PAssert.That(() => "2015-01-01 00:00:00,26178,26742,21196,33750,1426,1574,2185,10,|" +\r
+                               "2015-01-01 00:00:00,24595,25353,18900,32025,1427,1576,2187,10,|"\r
                                == result);\r
         }\r
 \r
index b2c3523..4366df8 100644 (file)
@@ -33,8 +33,6 @@ namespace KancolleSniffer
         private dynamic _map;\r
         private dynamic _basic;\r
         private int _kdockId;\r
-        private string _materialEvent;\r
-        private readonly int[] _material = new int[8];\r
 \r
         public Logger(ShipMaster master, ShipInfo ship, ItemInfo item)\r
         {\r
@@ -84,11 +82,6 @@ namespace KancolleSniffer
                         rstr, json.api_quest_name, string.Join(",", material)),\r
                     "日付,結果,遠征,燃料,弾薬,鋼材,ボーキ,開発資材,高速修復材,高速建造材");\r
             }\r
-            if (r == 0 || (_logType & LogType.Material) == 0)\r
-                return;\r
-            for (var i = 0; i < 7; i++)\r
-                _material[i] += material[i];\r
-            OutputMaterialLog("遠征");\r
         }\r
 \r
         public void InspectMap(dynamic json)\r
@@ -207,6 +200,8 @@ namespace KancolleSniffer
 \r
         public void InspectCreateItem(string request, dynamic json)\r
         {\r
+            if ((_logType & LogType.CreateItem) == 0)\r
+                return;\r
             var values = HttpUtility.ParseQueryString(request);\r
             var name = "失敗";\r
             var type = "";\r
@@ -216,26 +211,18 @@ namespace KancolleSniffer
                 name = spec.Name;\r
                 type = spec.TypeName;\r
             }\r
-            ((int[])json.api_material).CopyTo(_material, 0);\r
-            if ((_logType & LogType.Material) != 0)\r
-                OutputMaterialLog("開発");\r
-            if ((_logType & LogType.CreateItem) != 0)\r
-            {\r
-                _writer("開発報告書",\r
-                    _nowFunc().ToString(DateTimeFormat) + "," +\r
-                    string.Join(",", name, type,\r
-                        values["api_item1"], values["api_item2"], values["api_item3"], values["api_item4"],\r
-                        Secretary(), _basic.api_level),\r
-                    "日付,開発装備,種別,燃料,弾薬,鋼材,ボーキ,秘書艦,司令部Lv");\r
-            }\r
+            _writer("開発報告書",\r
+                _nowFunc().ToString(DateTimeFormat) + "," +\r
+                string.Join(",", name, type,\r
+                    values["api_item1"], values["api_item2"], values["api_item3"], values["api_item4"],\r
+                    Secretary(), _basic.api_level),\r
+                "日付,開発装備,種別,燃料,弾薬,鋼材,ボーキ,秘書艦,司令部Lv");\r
         }\r
 \r
-\r
         public void InspectCreateShip(string request)\r
         {\r
             var values = HttpUtility.ParseQueryString(request);\r
             _kdockId = int.Parse(values["api_kdock_id"]);\r
-            _materialEvent = "建造";\r
         }\r
 \r
         public void InspectKDock(dynamic json)\r
@@ -264,36 +251,13 @@ namespace KancolleSniffer
         {\r
             if ((_logType & LogType.Material) == 0)\r
                 return;\r
+            var material = new int[8];\r
             foreach (var e in json)\r
-                _material[(int)e.api_id - 1] = (int)e.api_value;\r
-            OutputMaterialLog(_materialEvent ?? "母港");\r
-            _materialEvent = null;\r
-        }\r
-\r
-        public void InspectCharge(dynamic json)\r
-        {\r
-            if ((_logType & LogType.Material) == 0)\r
-                return;\r
-            ((int[])json.api_material).CopyTo(_material, 0);\r
-            OutputMaterialLog("補給");\r
-        }\r
-\r
-        public void InspectClearItemGet()\r
-        {\r
-            _materialEvent = "任務";\r
-        }\r
-\r
-        public void InspectRemodeling()\r
-        {\r
-            _materialEvent = "改造";\r
-        }\r
-\r
-        public void OutputMaterialLog(string ev)\r
-        {\r
+                material[(int)e.api_id - 1] = (int)e.api_value;\r
             _writer("資材ログ",\r
                 _nowFunc().ToString(DateTimeFormat) + "," +\r
-                string.Join(",", _material) + "," + ev,\r
-                "日付,燃料,弾薬,鋼材,ボーキ,高速修復材,高速建造材,開発資材,改修資材,理由");\r
+                string.Join(",", material) + ",",\r
+                "日付,燃料,弾薬,鋼材,ボーキ,高速修復材,高速建造材,開発資材,改修資材");\r
         }\r
     }\r
 \r
index 2e5d239..caab896 100644 (file)
@@ -82,6 +82,13 @@ namespace KancolleSniffer
                 return level * weight;\r
             }\r
         }\r
+\r
+        public void CalcMaterialsToRepair(out int fuel, out int steal)\r
+        {\r
+            var damage = MaxHp - NowHp;\r
+            fuel = (int)(Spec.FuelMax * 0.2 * 0.16 * damage);\r
+            steal = (int)(Spec.FuelMax * 0.2 * 0.3 * damage);\r
+        }\r
     }\r
 \r
     public struct ChargeStatus\r
index 4683178..a622611 100644 (file)
@@ -160,13 +160,11 @@ namespace KancolleSniffer
             if (url.EndsWith("api_get_member/material"))\r
             {\r
                 _itemInfo.InspectMaterial(data);\r
-                _logger.InspectMaterial(data);\r
                 return Update.Item;\r
             }\r
             if (url.EndsWith("api_req_hokyu/charge"))\r
             {\r
                 _shipInfo.InspectCharge(data);\r
-                _logger.InspectCharge(data);\r
                 return Update.Item | Update.Ship;\r
             }\r
             if (url.EndsWith("api_req_kousyou/createitem"))\r
@@ -209,11 +207,6 @@ namespace KancolleSniffer
                 _akashiTimer.SetTimer();\r
                 return Update.Item | Update.Ship;\r
             }\r
-            if (url.EndsWith("api_req_kaisou/remodeling"))\r
-            {\r
-                _logger.InspectRemodeling();\r
-                return Update.None;\r
-            }\r
             if (url.EndsWith("api_req_nyukyo/start"))\r
             {\r
                 _dockInfo.InspectNyukyo(request);\r
@@ -281,11 +274,6 @@ namespace KancolleSniffer
                 _logger.InspectMissionResult(data);\r
                 return Update.Item;\r
             }\r
-            if (url.EndsWith("api_req_quest/clearitemget"))\r
-            {\r
-                _logger.InspectClearItemGet();\r
-                return Update.None;\r
-            }\r
             return Update.None;\r
         }\r
 \r