OSDN Git Service

基地空襲戦の制空値がメインウィンドウに表示されないのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 17 Aug 2019 09:25:15 +0000 (18:25 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 17 Aug 2019 13:28:57 +0000 (22:28 +0900)
KancolleSniffer.Test/BattleTest.cs
KancolleSniffer/MainForm.cs
KancolleSniffer/Model/BattleInfo.cs
KancolleSniffer/View/BattleResultPanel.cs

index 08d26c0..cb9257e 100644 (file)
@@ -350,7 +350,7 @@ namespace KancolleSniffer.Test
             var sniffer = new Sniffer();\r
             SniffLogFile(sniffer, "airraid_battle_001");\r
             var battle = sniffer.Battle;\r
-            Assert.AreEqual(BattleState.Day, battle.BattleState);\r
+            Assert.AreEqual(BattleState.AirRaid, battle.BattleState);\r
             Assert.AreEqual(2, battle.AirControlLevel);\r
             Assert.AreEqual(425, battle.FighterPower.Min);\r
             Assert.AreEqual(231, battle.EnemyFighterPower.AirCombat);\r
@@ -372,7 +372,7 @@ namespace KancolleSniffer.Test
             var sniffer = new Sniffer();\r
             SniffLogFile(sniffer, "airraid_battle_002");\r
             var battle = sniffer.Battle;\r
-            Assert.AreEqual(BattleState.Day, battle.BattleState);\r
+            Assert.AreEqual(BattleState.AirRaid, battle.BattleState);\r
             Assert.AreEqual(4, battle.AirControlLevel);\r
             Assert.AreEqual(0, battle.FighterPower.Min);\r
             Assert.AreEqual(231, battle.EnemyFighterPower.AirCombat);\r
index b213b3e..44a2b08 100644 (file)
@@ -828,24 +828,37 @@ namespace KancolleSniffer
 \r
         private void UpdateBattleFighterPower()\r
         {\r
+            UpdateEnemyFighterPower();\r
             var battle = Sniffer.Battle;\r
-            var power = battle.EnemyFighterPower;\r
-            labelEnemyFighterPower.Text = power.AirCombat + power.UnknownMark;\r
-            if (power.AirCombat != power.Interception)\r
+            labelFighterPower.ForeColor = battle.BattleState == BattleState.Night\r
+                ? DefaultForeColor\r
+                : AirControlLevelColor(battle.AirControlLevel);\r
+            if (battle.BattleState == BattleState.AirRaid)\r
             {\r
-                var text = "防空: " + power.Interception + power.UnknownMark;\r
-                _toolTip.SetToolTip(labelEnemyFighterPower, text);\r
-                _toolTip.SetToolTip(labelEnemyFighterPowerCaption, text);\r
+                UpdateAirRaidFighterPower();\r
             }\r
             else\r
             {\r
-                _toolTip.SetToolTip(labelEnemyFighterPower, "");\r
-                _toolTip.SetToolTip(labelEnemyFighterPowerCaption, "");\r
+                UpdateFighterPower(Sniffer.IsCombinedFleet && battle.EnemyIsCombined);\r
             }\r
-            UpdateFighterPower(Sniffer.IsCombinedFleet && battle.EnemyIsCombined);\r
-            labelFighterPower.ForeColor = battle.BattleState != BattleState.Day\r
-                ? DefaultForeColor\r
-                : AirControlLevelColor(battle.AirControlLevel);\r
+        }\r
+\r
+        private void UpdateEnemyFighterPower()\r
+        {\r
+            var fp = Sniffer.Battle.EnemyFighterPower;\r
+            labelEnemyFighterPower.Text = fp.AirCombat + fp.UnknownMark;\r
+            var toolTip = fp.AirCombat == fp.Interception ? "" : "防空: " + fp.Interception + fp.UnknownMark;\r
+            _toolTip.SetToolTip(labelEnemyFighterPower, toolTip);\r
+            _toolTip.SetToolTip(labelEnemyFighterPowerCaption, toolTip);\r
+        }\r
+\r
+        private void UpdateAirRaidFighterPower()\r
+        {\r
+            var fp = Sniffer.Battle.FighterPower;\r
+            labelFighterPower.Text = fp.Min.ToString();\r
+            var toolTop = fp.Diff ? fp.RangeString : "";\r
+            _toolTip.SetToolTip(labelFighterPower, toolTop);\r
+            _toolTip.SetToolTip(labelFighterPowerCaption, toolTop);\r
         }\r
 \r
         private static Color AirControlLevelColor(int level)\r
index f6e4250..403050f 100644 (file)
@@ -37,6 +37,7 @@ namespace KancolleSniffer.Model
         Day,\r
         Night,\r
         SpNight,\r
+        AirRaid,\r
         Result,\r
         Unknown\r
     }\r
@@ -318,7 +319,7 @@ namespace KancolleSniffer.Model
             FighterPower = _airBase.GetAirBase(areaId).CalcInterceptionFighterPower();\r
             SetupEnemyDamageRecord(json, false);\r
             SetEnemyFighterPower();\r
-            BattleState = BattleState.Day;\r
+            BattleState = BattleState.AirRaid;\r
             AirBattleResult.Clear();\r
             AirBattleResult.Add(json.api_air_base_attack, "空襲");\r
             CalcKoukuDamage(json.api_air_base_attack);\r
index 259d708..f1d0348 100644 (file)
@@ -58,6 +58,7 @@ namespace KancolleSniffer.View
                 switch (state)\r
                 {\r
                     case BattleState.Day:\r
+                    case BattleState.AirRaid:\r
                         return _day;\r
                     case BattleState.SpNight:\r
                     case BattleState.Night:\r
@@ -72,6 +73,7 @@ namespace KancolleSniffer.View
                 switch (battle.BattleState)\r
                 {\r
                     case BattleState.Day:\r
+                    case BattleState.AirRaid:\r
                         _day = new Result {Damage = battle.Result, Rank = battle.ResultRank};\r
                         _night = null;\r
                         break;\r
@@ -142,6 +144,7 @@ namespace KancolleSniffer.View
                 switch (state)\r
                 {\r
                     case BattleState.Day:\r
+                    case BattleState.AirRaid:\r
                         SetPhase("昼戦");\r
                         break;\r
                     case BattleState.Night:\r