OSDN Git Service

HPの数字のクリックでパーセント表示を切り替えられるようにする
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer / ShipListPanel.cs
index 33e7be8..e2fc1b4 100644 (file)
@@ -36,7 +36,7 @@ namespace KancolleSniffer
         private readonly List<Panel> _repairPanelList = new List<Panel>();\r
         private readonly List<ShipLabel> _hpLabels = new List<ShipLabel>();\r
         private string _mode;\r
-        public bool ShowHpInPercent { get; private set; }\r
+        private bool _hpPercent;\r
 \r
         public const int GroupCount = 4;\r
         public HashSet<int>[] GroupSettings { get; } = new HashSet<int>[GroupCount];\r
@@ -334,9 +334,10 @@ namespace KancolleSniffer
                 label.PresetColor =\r
                     label.BackColor = ShipLabel.ColumnColors[(i + 1) % 2];\r
             }\r
-            if (ShowHpInPercent)\r
+            if (_hpPercent)\r
                 rpl[0].ToggleHpPercent();\r
             _hpLabels.Add(rpl[0]);\r
+            rpl[0].Click += HpLabelClickHandler;\r
         }\r
 \r
         private void CreateShipLabels(int i)\r
@@ -385,9 +386,10 @@ namespace KancolleSniffer
                 label.PresetColor =\r
                     label.BackColor = ShipLabel.ColumnColors[(i + 1) % 2];\r
             }\r
-            if (ShowHpInPercent)\r
+            if (_hpPercent)\r
                 labels[0].ToggleHpPercent();\r
             _hpLabels.Add(labels[0]);\r
+            labels[0].Click += HpLabelClickHandler;\r
         }\r
 \r
         private void SetShipLabels()\r
@@ -495,9 +497,16 @@ namespace KancolleSniffer
             panel.Visible = true;\r
         }\r
 \r
+        public event Action HpLabelClick;\r
+\r
+        private void HpLabelClickHandler(object sender, EventArgs ev)\r
+        {\r
+            HpLabelClick?.Invoke();\r
+        }\r
+\r
         public void ToggleHpPercent()\r
         {\r
-            ShowHpInPercent = !ShowHpInPercent;\r
+            _hpPercent = !_hpPercent;\r
             foreach (var label in _hpLabels)\r
                 label.ToggleHpPercent();\r
         }\r