OSDN Git Service

制空状態に応じて制空値の色を変える
authorKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Wed, 18 Mar 2015 14:35:17 +0000 (23:35 +0900)
committerKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Wed, 18 Mar 2015 14:35:17 +0000 (23:35 +0900)
KancolleSniffer/BattleInfo.cs
KancolleSniffer/MainForm.cs

index 4018d12..c2183e9 100644 (file)
@@ -35,6 +35,7 @@ namespace KancolleSniffer
         public int EnemyAirSuperiority { get; private set; }\r
         public bool HasDamagedShip { get; set; }\r
         public string[] DamagedShipNames { get; private set; }\r
+        public int AirBattleResult { get; private set; }\r
 \r
         public BattleInfo(ShipMaster shipMaster, ShipInfo shipInfo, ItemInfo itemInfo)\r
         {\r
@@ -55,10 +56,19 @@ namespace KancolleSniffer
             }\r
             else\r
             {\r
+                AirBattleResult = CheckAirBattleResult(json);\r
                 _day = json;\r
             }\r
         }\r
 \r
+        private int CheckAirBattleResult(dynamic json)\r
+        {\r
+            var stage1 = json.api_kouku.api_stage1;\r
+            if (stage1.api_f_count == 0 && stage1.api_e_count == 0)\r
+                return -1;\r
+            return (int)stage1.api_disp_seiku;\r
+        }\r
+\r
         public void InspectPracticeBattle(dynamic json)\r
         {\r
             InspectBattle(json);\r
@@ -77,6 +87,7 @@ namespace KancolleSniffer
             }\r
             else\r
             {\r
+                AirBattleResult = CheckAirBattleResult(json);\r
                 _isSurface = surfaceFleet;\r
                 _day = json;\r
             }\r
index c76da7b..8f3802d 100644 (file)
@@ -419,15 +419,18 @@ namespace KancolleSniffer
         {\r
             labelFormation.Text = "";\r
             labelEnemyAirSuperiority.Text = "";\r
+            labelAirSuperiority.ForeColor = DefaultForeColor;\r
             panelBattleInfo.Visible = _sniffer.Battle.InBattle;\r
             if (!_sniffer.Battle.InBattle)\r
                 return;\r
             panelBattleInfo.BringToFront();\r
+            var color = new[] {DefaultForeColor, Color.Yellow, Color.Blue, Color.Green, Color.Orange, Color.Red};\r
             var t = new Timer {Interval = 2000}; // 艦隊が表示されるまで遅延させる\r
             t.Tick += (sender, args) =>\r
             {\r
                 labelFormation.Text = _sniffer.Battle.Formation;\r
                 labelEnemyAirSuperiority.Text = _sniffer.Battle.EnemyAirSuperiority.ToString("D");\r
+                labelAirSuperiority.ForeColor = color[_sniffer.Battle.AirBattleResult + 1];\r
                 t.Stop();\r
             };\r
             t.Start();\r