/// <summary> /// ユニットモデルリストビューの項目を作成する /// </summary> /// <param name="unit">ユニットクラス</param> /// <param name="index">ユニットモデルのインデックス</param> /// <returns>ユニットモデルリストビューの項目</returns> private ListViewItem CreateModelListItem(UnitClass unit, int index) { UnitModel model = unit.Models[index]; ListViewItem item = new ListViewItem { Text = IntHelper.ToString(index) }; string name = unit.GetCountryModelName(index, GetSelectedCountry()); if (string.IsNullOrEmpty(name)) { name = unit.GetModelName(index); } item.SubItems.Add(name); item.SubItems.Add(DoubleHelper.ToString(model.Cost)); item.SubItems.Add(DoubleHelper.ToString(model.BuildTime)); item.SubItems.Add(DoubleHelper.ToString(model.ManPower)); item.SubItems.Add(DoubleHelper.ToString(model.SupplyConsumption)); item.SubItems.Add(DoubleHelper.ToString(model.FuelConsumption)); item.SubItems.Add(DoubleHelper.ToString(model.DefaultOrganization)); item.SubItems.Add(DoubleHelper.ToString(model.Morale)); item.SubItems.Add(DoubleHelper.ToString(model.MaxSpeed)); return item; }
/// <summary> /// modelセクションを書き出す /// </summary> /// <param name="model">ユニットモデルデータ</param> /// <param name="unit">ユニットデータ</param> /// <param name="index">ユニットモデルのインデックス</param> /// <param name="writer">ファイル書き込み用</param> private static void WriteModel(UnitModel model, UnitClass unit, int index, StreamWriter writer) { writer.WriteLine("# {0} - {1}", index, unit.GetModelName(index)); writer.WriteLine("model = {"); // 兵科固有部分 switch (unit.Branch) { case Branch.Army: if (unit.Organization == UnitOrganization.Division) { WriteLandDivision(model, writer); } else { WriteLandBrigade(model, writer); } break; case Branch.Navy: if (unit.Organization == UnitOrganization.Division) { WriteNavalDivision(model, writer); } else { WriteNavalBrigade(model, writer); } break; case Branch.Airforce: if (unit.Organization == UnitOrganization.Division) { WriteAirDivision(model, writer); } else { WriteAirBrigade(model, writer); } break; } if (Game.Type == GameType.DarkestHour) { // 自動改良 if (model.AutoUpgrade) { writer.WriteLine("\t{0}\t\t\t\t= {1}", Units.Strings[(int) model.UpgradeClass], model.UpgradeModel); } // upgrade_time_boost if (!model.UpgradeTimeBoost) { writer.WriteLine("\tupgrade_time_boost \t= {0}", model.UpgradeTimeBoost ? "yes" : "no"); } } // equipment (DH1.03以降) if ((Game.Type == GameType.DarkestHour) && (Game.Version >= 103) && (model.Equipments.Count > 0)) { writer.Write("\tequipment = {"); foreach (UnitEquipment equipment in model.Equipments) { writer.Write(" {0} = {1}", Units.EquipmentStrings[(int) equipment.Resource], equipment.Quantity); } writer.WriteLine(" }"); } writer.WriteLine("}"); }