protected override void OnResize(EventArgs ev)\r
{\r
base.OnResize(ev);\r
- if (_shipList == null || _shipList.Length == 0)\r
+ if (_shipList == null || _shipList.Length == 0 || !Visible)\r
return;\r
SuspendDrawing();\r
SetupLabels();\r
\r
protected override void OnMouseWheel(MouseEventArgs e)\r
{\r
+ if (!ScrollBar.Visible)\r
+ return;\r
ScrollBar.Value = Max(ScrollBar.Minimum, Min(ScrollBar.Maximum - ScrollBar.LargeChange + 1,\r
ScrollBar.Value - e.Delta * SystemInformation.MouseWheelScrollLines / 120));\r
}\r
{\r
if (a == null || b == null)\r
throw new ArgumentNullException();\r
- if (_shipType && a.Spec.ShipType != b.Spec.ShipType)\r
- return a.Spec.ShipType - b.Spec.ShipType;\r
- switch (_order)\r
+ if (_shipType)\r
+ {\r
+ if (a.Spec.ShipType != b.Spec.ShipType)\r
+ return a.Spec.ShipType - b.Spec.ShipType;\r
+ if (a.Level != b.Level)\r
+ {\r
+ if (a.Level == 1000)\r
+ return -1;\r
+ if (b.Level == 1000)\r
+ return 1;\r
+ }\r
+ }\r
+ if (_order == ListForm.SortOrder.Repair && a.RepairTime != b.RepairTime)\r
+ return (int)(b.RepairTime - a.RepairTime).TotalSeconds;\r
+ if (a.Cond != b.Cond)\r
+ {\r
+ if (_order == ListForm.SortOrder.CondAscend)\r
+ return a.Cond - b.Cond;\r
+ if (_order == ListForm.SortOrder.CondDescend)\r
+ return b.Cond - a.Cond;\r
+ }\r
+ if (a.Level != b.Level)\r
+ {\r
+ if (_order == ListForm.SortOrder.ExpToNextAscend)\r
+ return b.Level - a.Level;\r
+ if (_order == ListForm.SortOrder.ExpToNextDescend)\r
+ return a.Level - b.Level;\r
+ if (!_shipType) // Condが同じかSortOrder.Noneで艦種なし\r
+ return b.Level - a.Level;\r
+ }\r
+ if (a.ExpToNext != b.ExpToNext)\r
{\r
- case ListForm.SortOrder.None:\r
- case ListForm.SortOrder.ExpToNext:\r
- break;\r
- case ListForm.SortOrder.Cond:\r
- if (a.Cond != b.Cond)\r
- return a.Cond - b.Cond;\r
- break;\r
- case ListForm.SortOrder.Repair:\r
- if (a.RepairTime != b.RepairTime)\r
- return (int)(b.RepairTime - a.RepairTime).TotalSeconds;\r
- break;\r
+ if (_order == ListForm.SortOrder.ExpToNextAscend)\r
+ return a.ExpToNext - b.ExpToNext;\r
+ if (_order == ListForm.SortOrder.ExpToNextDescend)\r
+ return b.ExpToNext - a.ExpToNext;\r
}\r
- if ((!_shipType || _order == ListForm.SortOrder.ExpToNext) && a.Level != b.Level)\r
- return b.Level - a.Level;\r
- if (_order == ListForm.SortOrder.ExpToNext && a.ExpToNext != b.ExpToNext)\r
- return a.ExpToNext - b.ExpToNext;\r
if (a.Spec.SortNo != b.Spec.SortNo)\r
return a.Spec.SortNo - b.Spec.SortNo;\r
return a.Id - b.Id;\r
rpl[0].SetHp(s);\r
rpl[1].SetLevel(s);\r
rpl[2].SetRepairTime(s);\r
- rpl[3].Text = TimeSpan.FromSeconds(s.RepairSecPerHp).ToString(@"mm\:ss");\r
+ rpl[3].Text = s.RepairTimePerHp.ToString(@"mm\:ss");\r
rpl[4].SetName(s, ShipNameWidth.RepairListFull);\r
rpl[5].SetFleet(s);\r
panel.Visible = true;\r