OSDN Git Service

IUpdatableをIUpdateContextとIUpdateTimerに分離する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 5 Apr 2020 08:12:53 +0000 (17:12 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 30 Aug 2020 05:58:21 +0000 (14:58 +0900)
KancolleSniffer/MainForm.cs
KancolleSniffer/View/HqPanel.cs
KancolleSniffer/View/IUpdateable.cs
KancolleSniffer/View/KDockPanel.cs
KancolleSniffer/View/MaterialHistoryPanel.cs
KancolleSniffer/View/MissionPanel.cs
KancolleSniffer/View/NDockPanel.cs

index 12930c3..c9962a9 100644 (file)
@@ -57,7 +57,8 @@ namespace KancolleSniffer
         private string _debugLogFile;\r
         private IEnumerator<string> _playLog;\r
         private DateTime _prev, _now;\r
-        private IEnumerable<IUpdateable> _updatables;\r
+        private IEnumerable<IUpdateContext> _updateable;\r
+        private IEnumerable<IUpdateTimers> _timers;\r
 \r
         private readonly ErrorDialog _errorDialog = new ErrorDialog();\r
         private readonly ErrorLog _errorLog;\r
@@ -104,10 +105,11 @@ namespace KancolleSniffer
 \r
         private void SetupUpdateable()\r
         {\r
-            _updatables = new IUpdateable[] {hqPanel, missionPanel, kdockPanel, ndockPanel, materialHistoryPanel};\r
+            _updateable = new IUpdateContext[] {hqPanel, missionPanel, kdockPanel, ndockPanel, materialHistoryPanel};\r
             var context = new UpdateContext(Sniffer, Config, new NotifySubmitter(_notificationManager), () => _now);\r
-            foreach (var updateable in _updatables)\r
+            foreach (var updateable in _updateable)\r
                 updateable.Context = context;\r
+            _timers = new IUpdateTimers[] {missionPanel, kdockPanel, ndockPanel};\r
         }\r
 \r
         private void SetScaleFactorOfDpiScaling()\r
@@ -938,8 +940,8 @@ namespace KancolleSniffer
 \r
         private void UpdateTimers()\r
         {\r
-            foreach (var updateable in _updatables)\r
-                updateable.UpdateTimers();\r
+            foreach (var timer in _timers)\r
+                timer.UpdateTimers();\r
             UpdateCondTimers();\r
             UpdateAkashiTimer();\r
             _timerEnabled = true;\r
index 1e14e65..1cb9448 100644 (file)
@@ -6,7 +6,7 @@ using KancolleSniffer.Properties;
 \r
 namespace KancolleSniffer.View\r
 {\r
-    public class HqPanel : PanelWithToolTip, IUpdateable\r
+    public class HqPanel : PanelWithToolTip, IUpdateContext\r
     {\r
         public Label Login { get; } = new Label\r
         {\r
@@ -133,10 +133,6 @@ namespace KancolleSniffer.View
             UpdateAchievement();\r
         }\r
 \r
-        public void UpdateTimers()\r
-        {\r
-        }\r
-\r
         private void UpdateNumOfBuckets()\r
         {\r
             _numOfBuckets.Text = Context.Sniffer.Material.MaterialHistory[(int)Material.Bucket].Now.ToString("D");\r
index 632ec2d..2af3e19 100644 (file)
@@ -1,8 +1,12 @@
 namespace KancolleSniffer.View\r
 {\r
-    public interface IUpdateable\r
+    public interface IUpdateContext\r
     {\r
         UpdateContext Context { set; }\r
+    }\r
+\r
+    public interface IUpdateTimers : IUpdateContext\r
+    {\r
         void UpdateTimers();\r
     }\r
 }
\ No newline at end of file
index f71054e..8841315 100644 (file)
@@ -20,7 +20,7 @@ using KancolleSniffer.Model;
 \r
 namespace KancolleSniffer.View\r
 {\r
-    public class KDockPanel : Panel, IUpdateable\r
+    public class KDockPanel : Panel, IUpdateTimers\r
     {\r
         private const int TopMargin = 3;\r
         private const int LeftMargin = 2;\r
index 772f3a0..70b6299 100644 (file)
@@ -4,7 +4,7 @@ using System.Windows.Forms;
 \r
 namespace KancolleSniffer.View\r
 {\r
-    public class MaterialHistoryPanel : Panel, IUpdateable\r
+    public class MaterialHistoryPanel : Panel, IUpdateContext\r
     {\r
         private readonly Label _bauxite = new Label\r
         {\r
index d41ff07..7869e62 100644 (file)
@@ -20,7 +20,7 @@ using KancolleSniffer.Model;
 \r
 namespace KancolleSniffer.View\r
 {\r
-    public class MissionPanel : PanelWithToolTip, IUpdateable\r
+    public class MissionPanel : PanelWithToolTip, IUpdateTimers\r
     {\r
         private const int TopMargin = 3;\r
         private const int LeftMargin = 2;\r
index 1ef3446..9e4732c 100644 (file)
@@ -20,7 +20,7 @@ using KancolleSniffer.Model;
 \r
 namespace KancolleSniffer.View\r
 {\r
-    public class NDockPanel : Panel, IUpdateable\r
+    public class NDockPanel : Panel, IUpdateTimers\r
     {\r
         private const int TopMargin = 3;\r
         private const int LeftMargin = 2;\r