}\r
\r
/// <summary>\r
+ /// 基地航空隊の出撃コストを計算する\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void CostForSortieOfBaseAirCorps()\r
+ {\r
+ var sniffer = new Sniffer();\r
+ SniffLogFile(sniffer, "baseaircorps_003");\r
+ PAssert.That(() => sniffer.BaseAirCorps[1].AirCorps[0].CostForSortie.SequenceEqual(new[] {99, 47}));\r
+ }\r
+\r
+ /// <summary>\r
/// 陸上戦闘機の改修レベルを制空値に反映させる。\r
/// </summary>\r
[TestMethod]\r
return new[] {prev[0] + cur[0], prev[1] + cur[1]};\r
}).Select(fp => (int)(fp * reconPlaneBonus)).ToArray();\r
}\r
+\r
+ public int[] CostForSortie => Planes.Aggregate(new[] {0, 0}, (prev, plane) =>\r
+ {\r
+ if (plane.State != 1)\r
+ return prev;\r
+ int fuel, bull;\r
+ if (plane.Slot.Spec.Type == 47)\r
+ {\r
+ fuel = (int)Math.Ceiling(plane.Count * 1.5);\r
+ bull = (int)(plane.Count * 0.7);\r
+ }\r
+ else\r
+ {\r
+ fuel = plane.Count;\r
+ bull = (int)Math.Ceiling(plane.Count * 0.6);\r
+ }\r
+ return new[] {prev[0] + fuel, prev[1] + bull};\r
+ });\r
}\r
\r
public class PlaneInfo\r
public string Fleet { get; set; }\r
public string Fleet2 { get; set; }\r
public string Ship { get; set; }\r
+ public string Ship2 { get; set; }\r
public int Id { get; set; }\r
public string Equip { get; set; }\r
public Color Color { get; set; }\r
var ship = new Record\r
{\r
Ship = (s.Escaped ? "[避]" : "") + s.Name + " Lv" + s.Level,\r
+ Ship2 = "",\r
Id = s.Id,\r
// ReSharper disable CompareOfFloatsByEqualityOperator\r
Spec = (fire == 0 ? "" : $"砲{fire:f1}") + (subm == 0 ? "" : $" 潜{subm:f1}{oasa}"),\r
spec = "制空:" + RangeString(corpsFp.AirCombat);\r
spec2 = corpsFp.IsInterceptor ? "制空(防空):" + RangeString(corpsFp.Interception) : "";\r
}\r
+ var cost = airCorps.CostForSortie;\r
list.Add(new Record\r
{\r
Ship = name[i++] + " " + airCorps.ActionName,\r
+ Ship2 = $"出撃コスト:燃{cost[0]}弾{cost[1]}",\r
Spec = spec + " 距離:" + airCorps.Distance,\r
Spec2 = spec2\r
});\r
var labels = _labelList[i];\r
labels.Fleet.Text = e.Fleet;\r
labels.Name.SetName(e.Ship);\r
+ if (e.Ship2 != "")\r
+ _toolTip.SetToolTip(labels.Name, e.Ship2);\r
labels.Equip.Text = e.Equip;\r
labels.EquipColor.Visible = e.Equip != "";\r
labels.EquipColor.BackColor = e.Color;\r