this.label2 = new System.Windows.Forms.Label();\r
this.labelNumOfShips = new System.Windows.Forms.Label();\r
this.label1 = new System.Windows.Forms.Label();\r
- this.labelFleet1 = new System.Windows.Forms.Label();\r
this.panelFleet1 = new System.Windows.Forms.Panel();\r
this.label21 = new System.Windows.Forms.Label();\r
this.labelCondTimer3 = new System.Windows.Forms.Label();\r
this.label25 = new System.Windows.Forms.Label();\r
this.label24 = new System.Windows.Forms.Label();\r
this.label23 = new System.Windows.Forms.Label();\r
+ this.labelFleet1 = new System.Windows.Forms.Label();\r
+ this.labelCheckFleet1 = new System.Windows.Forms.Label();\r
+ this.imageListMisc = new System.Windows.Forms.ImageList(this.components);\r
+ this.labelCheckFleet4 = new System.Windows.Forms.Label();\r
+ this.labelFleet4 = new System.Windows.Forms.Label();\r
+ this.labelCheckFleet3 = new System.Windows.Forms.Label();\r
+ this.labelFleet3 = new System.Windows.Forms.Label();\r
+ this.labelCheckFleet2 = new System.Windows.Forms.Label();\r
+ this.labelFleet2 = new System.Windows.Forms.Label();\r
this.panelHeadquarters.SuspendLayout();\r
this.panelFleet1.SuspendLayout();\r
this.panelDock.SuspendLayout();\r
this.label1.TabIndex = 0;\r
this.label1.Text = "艦娘数";\r
// \r
- // labelFleet1\r
- // \r
- this.labelFleet1.AutoSize = true;\r
- this.labelFleet1.Location = new System.Drawing.Point(13, 50);\r
- this.labelFleet1.Name = "labelFleet1";\r
- this.labelFleet1.Size = new System.Drawing.Size(53, 12);\r
- this.labelFleet1.TabIndex = 1;\r
- this.labelFleet1.Text = "第一艦隊";\r
- // \r
// panelFleet1\r
// \r
this.panelFleet1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
this.label23.TabIndex = 0;\r
this.label23.Text = "第一艦隊";\r
// \r
+ // labelFleet1\r
+ // \r
+ this.labelFleet1.AutoSize = true;\r
+ this.labelFleet1.Location = new System.Drawing.Point(20, 51);\r
+ this.labelFleet1.Name = "labelFleet1";\r
+ this.labelFleet1.Size = new System.Drawing.Size(53, 12);\r
+ this.labelFleet1.TabIndex = 1;\r
+ this.labelFleet1.Text = "第一艦隊";\r
+ this.labelFleet1.Click += new System.EventHandler(this.labelFleet_Click);\r
+ // \r
+ // labelCheckFleet1\r
+ // \r
+ this.labelCheckFleet1.ImageIndex = 0;\r
+ this.labelCheckFleet1.ImageList = this.imageListMisc;\r
+ this.labelCheckFleet1.Location = new System.Drawing.Point(11, 49);\r
+ this.labelCheckFleet1.Name = "labelCheckFleet1";\r
+ this.labelCheckFleet1.Size = new System.Drawing.Size(11, 14);\r
+ this.labelCheckFleet1.TabIndex = 16;\r
+ // \r
+ // imageListMisc\r
+ // \r
+ this.imageListMisc.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListMisc.ImageStream")));\r
+ this.imageListMisc.TransparentColor = System.Drawing.Color.Transparent;\r
+ this.imageListMisc.Images.SetKeyName(0, "sankaku.png");\r
+ // \r
+ // labelCheckFleet4\r
+ // \r
+ this.labelCheckFleet4.ImageIndex = 0;\r
+ this.labelCheckFleet4.ImageList = this.imageListMisc;\r
+ this.labelCheckFleet4.Location = new System.Drawing.Point(197, 49);\r
+ this.labelCheckFleet4.Name = "labelCheckFleet4";\r
+ this.labelCheckFleet4.Size = new System.Drawing.Size(11, 14);\r
+ this.labelCheckFleet4.TabIndex = 18;\r
+ this.labelCheckFleet4.Visible = false;\r
+ // \r
+ // labelFleet4\r
+ // \r
+ this.labelFleet4.AutoSize = true;\r
+ this.labelFleet4.Location = new System.Drawing.Point(206, 51);\r
+ this.labelFleet4.Name = "labelFleet4";\r
+ this.labelFleet4.Size = new System.Drawing.Size(53, 12);\r
+ this.labelFleet4.TabIndex = 17;\r
+ this.labelFleet4.Text = "第四艦隊";\r
+ this.labelFleet4.Click += new System.EventHandler(this.labelFleet_Click);\r
+ // \r
+ // labelCheckFleet3\r
+ // \r
+ this.labelCheckFleet3.ImageIndex = 0;\r
+ this.labelCheckFleet3.ImageList = this.imageListMisc;\r
+ this.labelCheckFleet3.Location = new System.Drawing.Point(135, 49);\r
+ this.labelCheckFleet3.Name = "labelCheckFleet3";\r
+ this.labelCheckFleet3.Size = new System.Drawing.Size(11, 14);\r
+ this.labelCheckFleet3.TabIndex = 20;\r
+ this.labelCheckFleet3.Visible = false;\r
+ // \r
+ // labelFleet3\r
+ // \r
+ this.labelFleet3.AutoSize = true;\r
+ this.labelFleet3.Location = new System.Drawing.Point(144, 51);\r
+ this.labelFleet3.Name = "labelFleet3";\r
+ this.labelFleet3.Size = new System.Drawing.Size(53, 12);\r
+ this.labelFleet3.TabIndex = 19;\r
+ this.labelFleet3.Text = "第三艦隊";\r
+ this.labelFleet3.Click += new System.EventHandler(this.labelFleet_Click);\r
+ // \r
+ // labelCheckFleet2\r
+ // \r
+ this.labelCheckFleet2.ImageIndex = 0;\r
+ this.labelCheckFleet2.ImageList = this.imageListMisc;\r
+ this.labelCheckFleet2.Location = new System.Drawing.Point(73, 49);\r
+ this.labelCheckFleet2.Name = "labelCheckFleet2";\r
+ this.labelCheckFleet2.Size = new System.Drawing.Size(11, 14);\r
+ this.labelCheckFleet2.TabIndex = 22;\r
+ this.labelCheckFleet2.Visible = false;\r
+ // \r
+ // labelFleet2\r
+ // \r
+ this.labelFleet2.AutoSize = true;\r
+ this.labelFleet2.Location = new System.Drawing.Point(82, 51);\r
+ this.labelFleet2.Name = "labelFleet2";\r
+ this.labelFleet2.Size = new System.Drawing.Size(53, 12);\r
+ this.labelFleet2.TabIndex = 21;\r
+ this.labelFleet2.Text = "第二艦隊";\r
+ this.labelFleet2.Click += new System.EventHandler(this.labelFleet_Click);\r
+ // \r
// MainForm\r
// \r
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
this.ClientSize = new System.Drawing.Size(283, 527);\r
this.ContextMenuStrip = this.contextMenuStripToolTip;\r
+ this.Controls.Add(this.labelCheckFleet2);\r
+ this.Controls.Add(this.labelFleet2);\r
+ this.Controls.Add(this.labelCheckFleet3);\r
+ this.Controls.Add(this.labelFleet3);\r
+ this.Controls.Add(this.labelCheckFleet4);\r
+ this.Controls.Add(this.labelFleet4);\r
+ this.Controls.Add(this.labelCheckFleet1);\r
this.Controls.Add(this.panel4);\r
this.Controls.Add(this.label22);\r
this.Controls.Add(this.panel3);\r
private System.Windows.Forms.Label label2;\r
private System.Windows.Forms.Label labelNumOfShips;\r
private System.Windows.Forms.Label label1;\r
- private System.Windows.Forms.Label labelFleet1;\r
private System.Windows.Forms.Panel panelFleet1;\r
private System.Windows.Forms.Label labelShip6;\r
private System.Windows.Forms.Label labelShip5;\r
private System.Windows.Forms.Label labelFuel2;\r
private System.Windows.Forms.ImageList imageListBull;\r
private System.Windows.Forms.ImageList imageListFuel;\r
+ private System.Windows.Forms.Label labelFleet1;\r
+ private System.Windows.Forms.Label labelCheckFleet1;\r
+ private System.Windows.Forms.ImageList imageListMisc;\r
+ private System.Windows.Forms.Label labelCheckFleet4;\r
+ private System.Windows.Forms.Label labelFleet4;\r
+ private System.Windows.Forms.Label labelCheckFleet3;\r
+ private System.Windows.Forms.Label labelFleet3;\r
+ private System.Windows.Forms.Label labelCheckFleet2;\r
+ private System.Windows.Forms.Label labelFleet2;\r
}\r
}\r
\r
private readonly Config _config = new Config();\r
private readonly ConfigDialog _configDialog = new ConfigDialog();\r
private readonly int _labelRightDistance;\r
+ private int _currentFleet;\r
+ private readonly Label[] _labelCheckFleets;\r
\r
public MainForm()\r
{\r
_wmp.PlayStateChange += new EventHandler(_wmp_PlayStateChange);\r
_configDialog.Tag = _config;\r
_labelRightDistance = labelHP1.Parent.Width - labelHP1.Right;\r
+ _labelCheckFleets = new[] {labelCheckFleet1, labelCheckFleet2, labelCheckFleet3, labelCheckFleet4};\r
+ var i = 0;\r
+ foreach (var label in new[] {labelFleet1, labelFleet2, labelFleet3, labelFleet4})\r
+ label.Tag = i++;\r
}\r
\r
private void FiddlerApplication_AfterSessionComplete(Session oSession)\r
\r
for (var i = 0; i < name.Length; i++)\r
{\r
- var stat = _sniffer.ShipStatuses[i];\r
+ var stat = _sniffer.GetShipStatuses(_currentFleet)[i];\r
name[i].Text = stat.Name;\r
lv[i].Text = stat.Level.ToString("D");\r
SetHpLavel(hp[i], stat.NowHp, stat.MaxHp);\r
{\r
var now = DateTime.Now;\r
foreach (var entry in\r
- new[] {labelCondTimer1, labelCondTimer2, labelCondTimer3}.Zip(_sniffer.RecoveryTimes,\r
+ new[] {labelCondTimer1, labelCondTimer2, labelCondTimer3}.Zip(_sniffer.GetRecoveryTimes(_currentFleet),\r
(label, time) => new {label, time}))\r
entry.label.Text = entry.time > now ? (entry.time - now).ToString(@"mm\:ss") : "00:00";\r
}\r
if (_wmp.playState == 8) // MediaEnded\r
_wmp.URL = ""; // 再生したファイルが差し替えできなくなるのを防ぐ。\r
}\r
+\r
+ private void labelFleet_Click(object sender, EventArgs e)\r
+ {\r
+ var fleet = (int)((Label)sender).Tag;\r
+ if (_currentFleet == fleet)\r
+ return;\r
+ _currentFleet = fleet;\r
+ foreach (var label in _labelCheckFleets)\r
+ label.Visible = false;\r
+ _labelCheckFleets[fleet].Visible = true;\r
+ UpdateShipInfo();\r
+ UpdateCondTimers();\r
+ }\r
}\r
}
\ No newline at end of file
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA+\r
- CwAAAk1TRnQBSQFMAgEBBQEAAUABAAFAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
+ CwAAAk1TRnQBSQFMAgEBBQEAAWABAAFgAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABu\r
- CwAAAk1TRnQBSQFMAgEBBQEAAUABAAFAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
+ CwAAAk1TRnQBSQFMAgEBBQEAAWABAAFgAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
AQABPwEAAT8C/wEAAT8BAAF/AQABPwL/AQABfwEAAX8BAAF/Av8BAAF/AQABfwEAAX8L\r
</value>\r
</data>\r
+ <metadata name="imageListMisc.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
+ <value>735, 17</value>\r
+ </metadata>\r
+ <data name="imageListMisc.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">\r
+ <value>\r
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABm\r
+ BwAAAk1TRnQBSQFMAwEBAAEYAQABGAEAAQcBAAEPAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA\r
+ ARwDAAEPAwABAQEAAQgFAAGkAQEYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
+ AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
+ AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
+ AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm\r
+ AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM\r
+ AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA\r
+ ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz\r
+ AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ\r
+ AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM\r
+ AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA\r
+ AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA\r
+ AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ\r
+ AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/\r
+ AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA\r
+ AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm\r
+ ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ\r
+ Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz\r
+ AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA\r
+ AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM\r
+ AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM\r
+ ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM\r
+ Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA\r
+ AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM\r
+ AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ\r
+ AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz\r
+ AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm\r
+ AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw\r
+ AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEAAfMbAAEQAfQbAAEU\r
+ Af8bAAFtAf8bAAHsAf8bAAGSHAABBxwAAfQaAAEHGgAB7xoAAewaAAFtAf8ZAAESAf8ZAAERAf8aAAHz\r
+ GwABQgFNAT4HAAE+AwABKAMAARwDAAEPAwABAQEAAQEFAAE8FwAD/wEAAX4DAAE+AwABHgMAAQ4DAAEG\r
+ AwABBgMAAQIHAAECAwABBgMAAQ4DAAEOAwABHgMAAT4DAAF+AwAL\r
+</value>\r
+ </data>\r
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
<value>\r
AAABAAQAQEAAAAEAIAAoQAAARgAAACAgAAABACAAKBAAAG5AAAAYGAAAAQAgACgJAACWUAAAEBAAAAEA\r
{\r
private readonly int[][] _decks = new int[4][];\r
private readonly Dictionary<int, ShipStatus> _shipInfo = new Dictionary<int, ShipStatus>();\r
- private readonly DateTime[] _recoveryTimes = new DateTime[3];\r
+ private readonly DateTime[][] _recoveryTimes = {new DateTime[3], new DateTime[3], new DateTime[3], new DateTime[3]};\r
private readonly ShipMaster _shipMaster;\r
\r
- public string FleetName { get; set; }\r
-\r
public ShipInfo(ShipMaster shipMaster)\r
{\r
_shipMaster = shipMaster;\r
_decks[i] = new[] {-1, -1, -1, -1, -1, -1};\r
}\r
\r
- public DateTime[] RecoveryTimes\r
+ public DateTime[] GetRecoveryTimes(int fleet)\r
{\r
- get { return _recoveryTimes; }\r
+ return _recoveryTimes[fleet];\r
}\r
\r
public string GetNameById(int id)\r
foreach (var entry in json)\r
{\r
var fleet = (int)entry.api_id;\r
- if (fleet == 1)\r
- FleetName = (string)entry.api_name;\r
var deck = _decks[fleet - 1];\r
for (var i = 0; i < deck.Length; i++)\r
deck[i] = (int)entry.api_ship[i];\r
\r
private void SetRecoveryTime()\r
{\r
- var cond =\r
- (from id in _decks[0] where _shipInfo.ContainsKey(id) select _shipInfo[id].Cond).DefaultIfEmpty(49)\r
- .Min();\r
- if (cond < 49 && _recoveryTimes[2] != DateTime.MinValue) // 計時中\r
+ for (var fleet = 0; fleet < 4; fleet++)\r
{\r
- // コンディション値から推定される残り時刻と経過時間の差\r
- var diff = TimeSpan.FromMinutes((49 - cond + 2) / 3 * 3) - (_recoveryTimes[2] - DateTime.Now);\r
- if (diff >= TimeSpan.Zero && diff <= TimeSpan.FromMinutes(3)) // 差が0以上3分以内ならタイマーを更新しない。\r
- return;\r
+ var cond =\r
+ (from id in _decks[fleet] where _shipInfo.ContainsKey(id) select _shipInfo[id].Cond).DefaultIfEmpty(49)\r
+ .Min();\r
+ if (cond < 49 && _recoveryTimes[fleet][2] != DateTime.MinValue) // 計時中\r
+ {\r
+ // コンディション値から推定される残り時刻と経過時間の差\r
+ var diff = TimeSpan.FromMinutes((49 - cond + 2) / 3 * 3) - (_recoveryTimes[fleet][2] - DateTime.Now);\r
+ if (diff >= TimeSpan.Zero && diff <= TimeSpan.FromMinutes(3)) // 差が0以上3分以内ならタイマーを更新しない。\r
+ return;\r
+ }\r
+ var thresh = new[] {30, 40, 49};\r
+ for (var i = 0; i < thresh.Length; i++)\r
+ _recoveryTimes[fleet][i] = cond < thresh[i]\r
+ ? DateTime.Now.AddMinutes((thresh[i] - cond + 2) / 3 * 3)\r
+ : DateTime.MinValue;\r
}\r
- var thresh = new[] {30, 40, 49};\r
- for (var i = 0; i < thresh.Length; i++)\r
- _recoveryTimes[i] = cond < thresh[i]\r
- ? DateTime.Now.AddMinutes((thresh[i] - cond + 2) / 3 * 3)\r
- : DateTime.MinValue;\r
}\r
\r
- public ShipStatus[] ShipStatuses\r
+ public ShipStatus[] GetShipStatuses(int fleet)\r
{\r
- get\r
+ return _decks[fleet].Select(id =>\r
{\r
- return _decks[0].Select(id =>\r
- {\r
- ShipStatus status;\r
- if (_shipInfo.TryGetValue(id, out status))\r
- status.Name = _shipMaster.GetSpec(status.ShipId).Name;\r
- return status;\r
- }).ToArray();\r
- }\r
+ ShipStatus status;\r
+ if (_shipInfo.TryGetValue(id, out status))\r
+ status.Name = _shipMaster.GetSpec(status.ShipId).Name;\r
+ return status;\r
+ }).ToArray();\r
}\r
\r
public ChargeStatus[] ChargeStatuses\r
get { return _missionInfo.Missions; }\r
}\r
\r
- public string FleetName\r
+ public DateTime[] GetRecoveryTimes(int fleet)\r
{\r
- get { return _shipInfo.FleetName; }\r
+ return _shipInfo.GetRecoveryTimes(fleet);\r
}\r
\r
- public DateTime[] RecoveryTimes\r
+ public ShipStatus[] GetShipStatuses(int fleet)\r
{\r
- get { return _shipInfo.RecoveryTimes; }\r
- }\r
-\r
- public ShipStatus[] ShipStatuses\r
- {\r
- get { return _shipInfo.ShipStatuses; }\r
+ return _shipInfo.GetShipStatuses(fleet);\r
}\r
\r
public ChargeStatus[] ChargeStatuses\r