private readonly List<ShipLabel[]> _friendLabels = new List<ShipLabel[]>();\r
private readonly List<ShipLabel[]> _enemyLabels = new List<ShipLabel[]>();\r
private readonly List<Panel> _panelList = new List<Panel>();\r
- private bool _hpPercent;\r
private readonly List<ShipLabel> _hpLabels = new List<ShipLabel>();\r
private readonly ResizableToolTip _toolTip = new ResizableToolTip {ShowAlways = true};\r
private readonly BattleInfo.BattleResult[] _result = new BattleInfo.BattleResult[2];\r
ResumeLayout();\r
}\r
\r
- public void SetShowHpPercent(bool hpPercent)\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
- if (hpPercent == _hpPercent)\r
- return;\r
foreach (var label in _hpLabels)\r
label.ToggleHpPercent();\r
- _hpPercent = hpPercent;\r
}\r
\r
public void Update(Sniffer sniffer)\r
_panelList[i].Width = panelWidth;\r
_infomationPanel.Location = new Point(\r
(int)Round(0 * ShipLabel.ScaleFactor.Width) + AutoScrollPosition.X,\r
- (int)Round(20 * ShipLabel.ScaleFactor.Height) +AutoScrollPosition.Y);\r
+ (int)Round(20 * ShipLabel.ScaleFactor.Height) + AutoScrollPosition.Y);\r
_infomationPanel.Visible = true;\r
}\r
\r
};\r
_friendLabels.Add(friend);\r
_hpLabels.Add(friend[0]);\r
+ friend[0].Click += HpLabelClickHandler;\r
var enemy = new[]\r
{\r
new ShipLabel {Location = new Point(119, 2), AutoSize = true},\r
InitializeComponent();\r
_sniffer = sniffer;\r
_config = config;\r
+ battleResultPanel.HpLabelClick += ToggleHpPercent;\r
+ shipListPanel.HpLabelClick += ToggleHpPercent;\r
var swipe = new SwipeScrollify();\r
swipe.AddShipListPanel(shipListPanel);\r
swipe.AddTreeView(itemTreeView);\r
\r
public void UpdateBattleResult()\r
{\r
- battleResultPanel.SetShowHpPercent(shipListPanel.ShowHpInPercent);\r
battleResultPanel.Spoiler = (_config.Spoilers & Spoiler.BattleResult) != 0;\r
battleResultPanel.Update(_sniffer);\r
}\r
var config = _config.ShipList;\r
checkBoxShipType.Checked = config.ShipType;\r
if (config.ShowHpInPercent)\r
+ {\r
shipListPanel.ToggleHpPercent();\r
+ battleResultPanel.ToggleHpPercent();\r
+ }\r
LoadShipGroupFromConfig();\r
comboBoxGroup.SelectedItem = config.Mode ?? "全員";\r
if (config.Location.X == int.MinValue)\r
if (!Visible)\r
return;\r
var config = _config.ShipList;\r
- config.ShowHpInPercent = shipListPanel.ShowHpInPercent;\r
StoreShipGroupToConfig();\r
var bounds = WindowState == FormWindowState.Normal ? Bounds : RestoreBounds;\r
config.Location = bounds.Location;\r
\r
private void labelHeaderHp_Click(object sender, EventArgs e)\r
{\r
+ ToggleHpPercent();\r
+ }\r
+\r
+ private void ToggleHpPercent()\r
+ {\r
+ _config.ShipList.ShowHpInPercent = !_config.ShipList.ShowHpInPercent;\r
shipListPanel.ToggleHpPercent();\r
+ battleResultPanel.ToggleHpPercent();\r
}\r
}\r
}
\ No newline at end of file
using System;\r
using System.Collections.Generic;\r
using System.Drawing;\r
-using System.Linq;\r
using System.Windows.Forms;\r
using static System.Math;\r
\r
label.Tag = i;\r
label.Click += onClick;\r
}\r
+ var hpLabel = shipLabels[i][0];\r
+ _hpLables.Add(hpLabel);\r
+ hpLabel.Click += HpLabelClickHander;\r
}\r
- _hpLables.AddRange(shipLabels.Select(labels => labels[0]));\r
headings[0].Cursor = Cursors.Hand;\r
- headings[0].Click += (sender, ev) => ToggleHpPercent();\r
+ headings[0].Click += HpLabelClickHander;\r
parent.ResumeLayout();\r
}\r
\r
+ private void HpLabelClickHander(object sender, EventArgs ev)\r
+ {\r
+ ToggleHpPercent();\r
+ }\r
+\r
public void ToggleHpPercent()\r
{\r
ShowHpInPercent = !ShowHpInPercent;\r
label.Tag = i;\r
label.Click += onClick;\r
}\r
+ var hpLavel = _combinedLabels[i][0];\r
+ _hpLables.Add(hpLavel);\r
+ hpLavel.Click += HpLabelClickHander;\r
}\r
- _hpLables.AddRange(_combinedLabels.Select(record => record[0]).ToArray());\r
headings[0].Cursor = headings[2].Cursor = Cursors.Hand;\r
- void HpToggle(object sender, EventArgs ev)\r
- {\r
- foreach (var label in _hpLables)\r
- label.ToggleHpPercent();\r
- }\r
- headings[0].Click += HpToggle;\r
- headings[2].Click += HpToggle;\r
+ headings[0].Click += HpLabelClickHander;\r
+ headings[2].Click += HpLabelClickHander;\r
parent.ResumeLayout();\r
}\r
\r
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
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
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
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