コード例 #1
0
        private void StripMenu_File_OutputCSVUser_Click(object sender, EventArgs e)
        {
            if (SaveCSVDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try
                {
                    using (StreamWriter sw = new StreamWriter(SaveCSVDialog.FileName, false, Utility.Configuration.Config.Log.FileEncoding))
                    {
                        sw.WriteLine("装備ID,図鑑番号,装備種,装備名,大分類,図鑑カテゴリID,カテゴリID,アイコンID,航空機グラフィックID,火力,雷装,対空,装甲,対潜,回避,索敵,運,命中,爆装,射程,レア,廃棄燃料,廃棄弾薬,廃棄鋼材,廃棄ボーキ,図鑑文章,戦闘行動半径,配置コスト");

                        foreach (EquipmentDataMaster eq in KCDatabase.Instance.MasterEquipments.Values)
                        {
                            sw.WriteLine(string.Join(",",
                                                     eq.EquipmentID,
                                                     eq.AlbumNo,
                                                     CsvHelper.EscapeCsvCell(eq.CategoryTypeInstance.Name),
                                                     CsvHelper.EscapeCsvCell(eq.Name),
                                                     eq.EquipmentType[0],
                                                     eq.EquipmentType[1],
                                                     eq.EquipmentType[2],
                                                     eq.EquipmentType[3],
                                                     eq.EquipmentType[4],
                                                     eq.Firepower,
                                                     eq.Torpedo,
                                                     eq.AA,
                                                     eq.Armor,
                                                     eq.ASW,
                                                     eq.Evasion,
                                                     eq.LOS,
                                                     eq.Luck,
                                                     eq.Accuracy,
                                                     eq.Bomber,
                                                     Constants.GetRange(eq.Range),
                                                     Constants.GetEquipmentRarity(eq.Rarity),
                                                     eq.Material[0],
                                                     eq.Material[1],
                                                     eq.Material[2],
                                                     eq.Material[3],
                                                     CsvHelper.EscapeCsvCell(eq.Message),
                                                     eq.AircraftDistance,
                                                     eq.AircraftCost
                                                     ));
                        }
                    }
                }
                catch (Exception ex)
                {
                    Utility.ErrorReporter.SendErrorReport(ex, "装備図鑑 CSVの出力に失敗しました。");
                    MessageBox.Show("装備図鑑 CSVの出力に失敗しました。\r\n" + ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #2
0
        private void StripMenu_File_OutputCSVUser_Click(object sender, EventArgs e)
        {
            if (SaveCSVDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try {
                    using (StreamWriter sw = new StreamWriter(SaveCSVDialog.FileName, false, Utility.Configuration.Config.Log.FileEncoding)) {
                        sw.WriteLine("装備ID,図鑑番号,装備種,装備名,装備種1,装備種2,装備種3,装備種4,装備種5,火力,雷装,対空,装甲,対潜,回避,索敵,運,命中,爆装,射程,レア,廃棄燃料,廃棄弾薬,廃棄鋼材,廃棄ボーキ,図鑑文章,戦闘行動半径,配置コスト");
                        string arg = string.Format("{{{0}}}", string.Join("},{", Enumerable.Range(0, 28)));

                        foreach (EquipmentDataMaster eq in KCDatabase.Instance.MasterEquipments.Values)
                        {
                            sw.WriteLine(arg,
                                         eq.EquipmentID,
                                         eq.AlbumNo,
                                         KCDatabase.Instance.EquipmentTypes[eq.EquipmentType[2]].Name,
                                         eq.Name,
                                         eq.EquipmentType[0],
                                         eq.EquipmentType[1],
                                         eq.EquipmentType[2],
                                         eq.EquipmentType[3],
                                         eq.EquipmentType[4],
                                         eq.Firepower,
                                         eq.Torpedo,
                                         eq.AA,
                                         eq.Armor,
                                         eq.ASW,
                                         eq.Evasion,
                                         eq.LOS,
                                         eq.Luck,
                                         eq.Accuracy,
                                         eq.Bomber,
                                         Constants.GetRange(eq.Range),
                                         Constants.GetEquipmentRarity(eq.Rarity),
                                         eq.Material[0],
                                         eq.Material[1],
                                         eq.Material[2],
                                         eq.Material[3],
                                         eq.Message.Replace("\n", "<br>"),
                                         eq.AircraftDistance,
                                         eq.AircraftCost
                                         );
                        }
                    }
                } catch (Exception ex) {
                    Utility.ErrorReporter.SendErrorReport(ex, "装備図鑑 CSVの出力に失敗しました。");
                    MessageBox.Show("装備図鑑 CSVの出力に失敗しました。\r\n" + ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #3
0
        private void StripMenu_File_OutputCSVUser_Click(object sender, EventArgs e)
        {
            if (SaveCSVDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try {
                    using (StreamWriter sw = new StreamWriter(SaveCSVDialog.FileName, false, Utility.Configuration.Config.Log.FileEncoding)) {
                        sw.WriteLine(EncycloRes.EquipCSVUserFormat);
                        string arg = string.Format("{{{0}}}", string.Join("},{", Enumerable.Range(0, 26)));

                        foreach (EquipmentDataMaster eq in KCDatabase.Instance.MasterEquipments.Values)
                        {
                            sw.WriteLine(arg,
                                         eq.EquipmentID,
                                         eq.AlbumNo,
                                         KCDatabase.Instance.EquipmentTypes[eq.EquipmentType[2]].Name,
                                         eq.Name,
                                         eq.EquipmentType[0],
                                         eq.EquipmentType[1],
                                         eq.EquipmentType[2],
                                         eq.EquipmentType[3],
                                         eq.Firepower,
                                         eq.Torpedo,
                                         eq.AA,
                                         eq.Armor,
                                         eq.ASW,
                                         eq.Evasion,
                                         eq.LOS,
                                         eq.Luck,
                                         eq.Accuracy,
                                         eq.Bomber,
                                         Constants.GetRange(eq.Range),
                                         Constants.GetEquipmentRarity(eq.Rarity),
                                         eq.Material[0],
                                         eq.Material[1],
                                         eq.Material[2],
                                         eq.Material[3],
                                         eq.Message.Replace("\n", "<br>"),
                                         eq.ResourceVersion
                                         );
                        }
                    }
                } catch (Exception ex) {
                    Utility.ErrorReporter.SendErrorReport(ex, EncycloRes.FailedOutputEquipCSV);
                    MessageBox.Show(EncycloRes.FailedOutputEquipCSV + "\r\n" + ex.Message, Properties.Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #4
0
        private void Menu_File_CSVOutput_Click(object sender, EventArgs e)
        {
            if (SaveCSVDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try
                {
                    using (StreamWriter sw = new StreamWriter(SaveCSVDialog.FileName, false, Utility.Configuration.Config.Log.FileEncoding))
                    {
                        sw.WriteLine("固有ID,装備ID,装備名,改修Lv,艦載機Lv,ロック,装備艦ID,装備艦");
                        string arg = string.Format("{{{0}}}", string.Join("},{", Enumerable.Range(0, 8)));

                        foreach (var eq in KCDatabase.Instance.Equipments.Values)
                        {
                            if (eq.Name == "なし")
                            {
                                continue;
                            }

                            ShipData equippedShip = KCDatabase.Instance.Ships.Values.FirstOrDefault(s => s.AllSlot.Contains(eq.MasterID));


                            sw.WriteLine(arg,
                                         eq.MasterID,
                                         eq.EquipmentID,
                                         eq.Name,
                                         eq.Level,
                                         eq.AircraftLevel,
                                         eq.IsLocked ? 1 : 0,
                                         equippedShip?.MasterID ?? -1,
                                         equippedShip?.NameWithLevel ?? ""
                                         );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Utility.ErrorReporter.SendErrorReport(ex, "装備一覧 CSVの出力に失敗しました。");
                    MessageBox.Show("装備一覧 CSVの出力に失敗しました。\r\n" + ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #5
0
        private void Menu_File_CSVOutput_Click(object sender, EventArgs e)
        {
            if (SaveCSVDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try {
                    using (StreamWriter sw = new StreamWriter(SaveCSVDialog.FileName, false, Utility.Configuration.Config.Log.FileEncoding)) {
                        sw.WriteLine(EncycloRes.EquipListCSVFormat);
                        string arg = string.Format("{{{0}}}", string.Join("},{", Enumerable.Range(0, 8)));

                        foreach (var eq in KCDatabase.Instance.Equipments.Values)
                        {
                            if (eq.Name == "なし")
                            {
                                continue;
                            }

                            ShipData equippedShip = KCDatabase.Instance.Ships.Values.FirstOrDefault(s => s.Slot.Contains(eq.MasterID));


                            sw.WriteLine(arg,
                                         eq.MasterID,
                                         eq.EquipmentID,
                                         eq.Name,
                                         eq.Level,
                                         eq.AircraftLevel,
                                         eq.IsLocked ? 1 : 0,
                                         equippedShip != null ? equippedShip.MasterID : -1,
                                         equippedShip != null ? equippedShip.NameWithLevel : ""
                                         );
                        }
                    }
                } catch (Exception ex) {
                    Utility.ErrorReporter.SendErrorReport(ex, EncycloRes.FailedOutputEqListCSV);
                    MessageBox.Show(EncycloRes.FailedOutputEqListCSV + "\r\n" + ex.Message, Properties.Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #6
0
		private void StripMenu_File_OutputCSVData_Click( object sender, EventArgs e ) {

			if ( SaveCSVDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK ) {

				try {

					using ( StreamWriter sw = new StreamWriter( SaveCSVDialog.FileName, false, Utility.Configuration.Config.Log.FileEncoding ) ) {

						sw.WriteLine( "艦船ID,図鑑番号,艦名,読み,艦種,改装前,改装後,改装Lv,改装弾薬,改装鋼材,改装設計図,耐久初期,耐久最大,耐久結婚,火力初期,火力最大,雷装初期,雷装最大,対空初期,対空最大,装甲初期,装甲最大,対潜初期最小,対潜初期最大,対潜最大,対潜150最小,対潜150最大,回避初期最小,回避初期最大,回避最大,回避150最小,回避150最大,索敵初期最小,索敵初期最大,索敵最大,索敵150最小,索敵150最大,運初期,運最大,速力,射程,レア,スロット数,搭載機数1,搭載機数2,搭載機数3,搭載機数4,搭載機数5,初期装備1,初期装備2,初期装備3,初期装備4,初期装備5,建造時間,解体燃料,解体弾薬,解体鋼材,解体ボーキ,改修火力,改修雷装,改修対空,改修装甲,ドロップ文章,図鑑文章,搭載燃料,搭載弾薬,ボイス,リソース名,バージョン" );
						string arg = string.Format( "{{{0}}}", string.Join( "},{", Enumerable.Range( 0, 69 ) ) );

						foreach ( ShipDataMaster ship in KCDatabase.Instance.MasterShips.Values ) {

							sw.WriteLine( arg,
								ship.ShipID,
								ship.AlbumNo,
								ship.Name,
								ship.NameReading,
								ship.ShipType,
								ship.RemodelBeforeShipID,
								ship.RemodelAfterShipID,
								ship.RemodelAfterLevel,
								ship.RemodelAmmo,
								ship.RemodelSteel,
								ship.NeedBlueprint,
								ship.HPMin,
								ship.HPMax,
								ship.HPMaxMarried,
								ship.FirepowerMin,
								ship.FirepowerMax,
								ship.TorpedoMin,
								ship.TorpedoMax,
								ship.AAMin,
								ship.AAMax,
								ship.ArmorMin,
								ship.ArmorMax,
								ship.ASW != null ? ship.ASW.MinimumEstMin : ShipParameterRecord.Parameter.MinimumDefault,
								ship.ASW != null ? ship.ASW.MinimumEstMax : ShipParameterRecord.Parameter.MaximumDefault,
								ship.ASW != null ? ship.ASW.Maximum : ShipParameterRecord.Parameter.MaximumDefault,
								ship.ASW != null ? ship.ASW.GetEstParameterMin( 150 ) : ShipParameterRecord.Parameter.MinimumDefault,
								ship.ASW != null ? ship.ASW.GetEstParameterMax( 150 ) : ShipParameterRecord.Parameter.MaximumDefault,
								ship.Evasion != null ? ship.Evasion.MinimumEstMin : ShipParameterRecord.Parameter.MinimumDefault,
								ship.Evasion != null ? ship.Evasion.MinimumEstMax : ShipParameterRecord.Parameter.MaximumDefault,
								ship.Evasion != null ? ship.Evasion.Maximum : ShipParameterRecord.Parameter.MaximumDefault,
								ship.Evasion != null ? ship.Evasion.GetEstParameterMin( 150 ) : ShipParameterRecord.Parameter.MinimumDefault,
								ship.Evasion != null ? ship.Evasion.GetEstParameterMax( 150 ) : ShipParameterRecord.Parameter.MaximumDefault,
								ship.LOS != null ? ship.LOS.MinimumEstMin : ShipParameterRecord.Parameter.MinimumDefault,
								ship.LOS != null ? ship.LOS.MinimumEstMax : ShipParameterRecord.Parameter.MaximumDefault,
								ship.LOS != null ? ship.LOS.Maximum : ShipParameterRecord.Parameter.MaximumDefault,
								ship.LOS != null ? ship.LOS.GetEstParameterMin( 150 ) : ShipParameterRecord.Parameter.MinimumDefault,
								ship.LOS != null ? ship.LOS.GetEstParameterMax( 150 ) : ShipParameterRecord.Parameter.MaximumDefault,
								ship.LuckMin,
								ship.LuckMax,
								ship.Speed,
								ship.Range,
								ship.Rarity,
								ship.SlotSize,
								ship.Aircraft[0],
								ship.Aircraft[1],
								ship.Aircraft[2],
								ship.Aircraft[3],
								ship.Aircraft[4],
								ship.DefaultSlot != null ? ship.DefaultSlot[0] : -1,
								ship.DefaultSlot != null ? ship.DefaultSlot[1] : -1,
								ship.DefaultSlot != null ? ship.DefaultSlot[2] : -1,
								ship.DefaultSlot != null ? ship.DefaultSlot[3] : -1,
								ship.DefaultSlot != null ? ship.DefaultSlot[4] : -1,
								ship.BuildingTime,
								ship.Material[0],
								ship.Material[1],
								ship.Material[2],
								ship.Material[3],
								ship.PowerUp[0],
								ship.PowerUp[1],
								ship.PowerUp[2],
								ship.PowerUp[3],
								ship.MessageGet.Replace( "\n", "<br>" ),
								ship.MessageAlbum.Replace( "\n", "<br>" ),
								ship.Fuel,
								ship.Ammo,
								ship.VoiceFlag,
								ship.ResourceName,
								ship.ResourceVersion
								);

						}

					}

				} catch ( Exception ex ) {

					Utility.ErrorReporter.SendErrorReport( ex, "艦船図鑑 CSVの出力に失敗しました。" );
					MessageBox.Show( "艦船図鑑 CSVの出力に失敗しました。\r\n" + ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error );
				}

			}

		}
コード例 #7
0
		private void StripMenu_File_OutputCSVUser_Click( object sender, EventArgs e ) {

			if ( SaveCSVDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK ) {

				try {

					using ( StreamWriter sw = new StreamWriter( SaveCSVDialog.FileName, false, Utility.Configuration.Config.Log.FileEncoding ) ) {

						sw.WriteLine( "艦船ID,図鑑番号,艦種,艦名,読み,改装前,改装後,改装Lv,改装弾薬,改装鋼材,改装設計図,耐久初期,耐久結婚,火力初期,火力最大,雷装初期,雷装最大,対空初期,対空最大,装甲初期,装甲最大,対潜初期,対潜最大,回避初期,回避最大,索敵初期,索敵最大,運初期,運最大,速力,射程,レア,スロット数,搭載機数1,搭載機数2,搭載機数3,搭載機数4,搭載機数5,初期装備1,初期装備2,初期装備3,初期装備4,初期装備5,建造時間,解体燃料,解体弾薬,解体鋼材,解体ボーキ,改修火力,改修雷装,改修対空,改修装甲,ドロップ文章,図鑑文章,搭載燃料,搭載弾薬,ボイス,リソース名,バージョン" );
						string arg = string.Format( "{{{0}}}", string.Join( "},{", Enumerable.Range( 0, 59 ) ) );

						foreach ( ShipDataMaster ship in KCDatabase.Instance.MasterShips.Values ) {

							if ( ship.Name == "なし" ) continue;

							sw.WriteLine( arg,
								ship.ShipID,
								ship.AlbumNo,
								KCDatabase.Instance.ShipTypes[ship.ShipType].Name,
								ship.Name,
								ship.NameReading,
								ship.RemodelBeforeShipID > 0 ? ship.RemodelBeforeShip.Name : "-",
								ship.RemodelAfterShipID > 0 ? ship.RemodelAfterShip.Name : "-",
								ship.RemodelAfterLevel,
								ship.RemodelAmmo,
								ship.RemodelSteel,
								ship.NeedBlueprint > 0 ? ship.NeedBlueprint + "枚" : "-",
								ship.HPMin,
								ship.HPMaxMarried,
								ship.FirepowerMin,
								ship.FirepowerMax,
								ship.TorpedoMin,
								ship.TorpedoMax,
								ship.AAMin,
								ship.AAMax,
								ship.ArmorMin,
								ship.ArmorMax,
								ship.ASW != null && !ship.ASW.IsMinimumDefault ? ship.ASW.Minimum.ToString() : "???",
								ship.ASW != null && !ship.ASW.IsMaximumDefault ? ship.ASW.Maximum.ToString() : "???",
								ship.Evasion != null && !ship.Evasion.IsMinimumDefault ? ship.Evasion.Minimum.ToString() : "???",
								ship.Evasion != null && !ship.Evasion.IsMaximumDefault ? ship.Evasion.Maximum.ToString() : "???",
								ship.LOS != null && !ship.LOS.IsMinimumDefault ? ship.LOS.Minimum.ToString() : "???",
								ship.LOS != null && !ship.LOS.IsMaximumDefault ? ship.LOS.Maximum.ToString() : "???",
								ship.LuckMin,
								ship.LuckMax,
								Constants.GetSpeed( ship.Speed ),
								Constants.GetRange( ship.Range ),
								Constants.GetShipRarity( ship.Rarity ),
								ship.SlotSize,
								ship.Aircraft[0],
								ship.Aircraft[1],
								ship.Aircraft[2],
								ship.Aircraft[3],
								ship.Aircraft[4],
								ship.DefaultSlot != null ? ( ship.DefaultSlot[0] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[0]].Name : ( ship.SlotSize > 0 ? "(なし)" : "" ) ) : "???",
								ship.DefaultSlot != null ? ( ship.DefaultSlot[1] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[1]].Name : ( ship.SlotSize > 1 ? "(なし)" : "" ) ) : "???",
								ship.DefaultSlot != null ? ( ship.DefaultSlot[2] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[2]].Name : ( ship.SlotSize > 2 ? "(なし)" : "" ) ) : "???",
								ship.DefaultSlot != null ? ( ship.DefaultSlot[3] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[3]].Name : ( ship.SlotSize > 3 ? "(なし)" : "" ) ) : "???",
								ship.DefaultSlot != null ? ( ship.DefaultSlot[4] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[4]].Name : ( ship.SlotSize > 4 ? "(なし)" : "" ) ) : "???",
								DateTimeHelper.ToTimeRemainString( new TimeSpan( 0, ship.BuildingTime, 0 ) ),
								ship.Material[0],
								ship.Material[1],
								ship.Material[2],
								ship.Material[3],
								ship.PowerUp[0],
								ship.PowerUp[1],
								ship.PowerUp[2],
								ship.PowerUp[3],
								ship.MessageGet.Replace( "\n", "<br>" ),
								ship.MessageAlbum.Replace( "\n", "<br>" ),
								ship.Fuel,
								ship.Ammo,
								Constants.GetVoiceFlag( ship.VoiceFlag ),
								ship.ResourceName,
								ship.ResourceVersion
								);

						}

					}

				} catch ( Exception ex ) {

					Utility.ErrorReporter.SendErrorReport( ex, "艦船図鑑 CSVの出力に失敗しました。" );
					MessageBox.Show( "艦船図鑑 CSVの出力に失敗しました。\r\n" + ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error );
				}

			}

		}
コード例 #8
0
        private void StripMenu_File_OutputCSVData_Click(object sender, EventArgs e)
        {
            if (SaveCSVDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try {
                    using (StreamWriter sw = new StreamWriter(SaveCSVDialog.FileName, false, Utility.Configuration.Config.Log.FileEncoding)) {
                        sw.WriteLine(EncycloRes.ShipCSVDataFormat);
                        string arg = string.Format("{{{0}}}", string.Join("},{", Enumerable.Range(0, 69)));

                        foreach (ShipDataMaster ship in KCDatabase.Instance.MasterShips.Values)
                        {
                            sw.WriteLine(arg,
                                         ship.ShipID,
                                         ship.AlbumNo,
                                         ship.Name,
                                         ship.NameReading,
                                         ship.ShipType,
                                         ship.RemodelBeforeShipID,
                                         ship.RemodelAfterShipID,
                                         ship.RemodelAfterLevel,
                                         ship.RemodelAmmo,
                                         ship.RemodelSteel,
                                         ship.NeedBlueprint,
                                         ship.HPMin,
                                         ship.HPMax,
                                         ship.HPMaxMarried,
                                         ship.FirepowerMin,
                                         ship.FirepowerMax,
                                         ship.TorpedoMin,
                                         ship.TorpedoMax,
                                         ship.AAMin,
                                         ship.AAMax,
                                         ship.ArmorMin,
                                         ship.ArmorMax,
                                         ship.ASW != null ? ship.ASW.MinimumEstMin : ShipParameterRecord.Parameter.MinimumDefault,
                                         ship.ASW != null ? ship.ASW.MinimumEstMax : ShipParameterRecord.Parameter.MaximumDefault,
                                         ship.ASW != null ? ship.ASW.Maximum : ShipParameterRecord.Parameter.MaximumDefault,
                                         ship.ASW != null ? ship.ASW.GetEstParameterMin(150) : ShipParameterRecord.Parameter.MinimumDefault,
                                         ship.ASW != null ? ship.ASW.GetEstParameterMax(150) : ShipParameterRecord.Parameter.MaximumDefault,
                                         ship.Evasion != null ? ship.Evasion.MinimumEstMin : ShipParameterRecord.Parameter.MinimumDefault,
                                         ship.Evasion != null ? ship.Evasion.MinimumEstMax : ShipParameterRecord.Parameter.MaximumDefault,
                                         ship.Evasion != null ? ship.Evasion.Maximum : ShipParameterRecord.Parameter.MaximumDefault,
                                         ship.Evasion != null ? ship.Evasion.GetEstParameterMin(150) : ShipParameterRecord.Parameter.MinimumDefault,
                                         ship.Evasion != null ? ship.Evasion.GetEstParameterMax(150) : ShipParameterRecord.Parameter.MaximumDefault,
                                         ship.LOS != null ? ship.LOS.MinimumEstMin : ShipParameterRecord.Parameter.MinimumDefault,
                                         ship.LOS != null ? ship.LOS.MinimumEstMax : ShipParameterRecord.Parameter.MaximumDefault,
                                         ship.LOS != null ? ship.LOS.Maximum : ShipParameterRecord.Parameter.MaximumDefault,
                                         ship.LOS != null ? ship.LOS.GetEstParameterMin(150) : ShipParameterRecord.Parameter.MinimumDefault,
                                         ship.LOS != null ? ship.LOS.GetEstParameterMax(150) : ShipParameterRecord.Parameter.MaximumDefault,
                                         ship.LuckMin,
                                         ship.LuckMax,
                                         ship.Speed,
                                         ship.Range,
                                         ship.Rarity,
                                         ship.SlotSize,
                                         ship.Aircraft[0],
                                         ship.Aircraft[1],
                                         ship.Aircraft[2],
                                         ship.Aircraft[3],
                                         ship.Aircraft[4],
                                         ship.DefaultSlot != null ? ship.DefaultSlot[0] : -1,
                                         ship.DefaultSlot != null ? ship.DefaultSlot[1] : -1,
                                         ship.DefaultSlot != null ? ship.DefaultSlot[2] : -1,
                                         ship.DefaultSlot != null ? ship.DefaultSlot[3] : -1,
                                         ship.DefaultSlot != null ? ship.DefaultSlot[4] : -1,
                                         ship.BuildingTime,
                                         ship.Material[0],
                                         ship.Material[1],
                                         ship.Material[2],
                                         ship.Material[3],
                                         ship.PowerUp[0],
                                         ship.PowerUp[1],
                                         ship.PowerUp[2],
                                         ship.PowerUp[3],
                                         ship.MessageGet.Replace("\n", "<br>"),
                                         ship.MessageAlbum.Replace("\n", "<br>"),
                                         ship.Fuel,
                                         ship.Ammo,
                                         ship.VoiceFlag,
                                         ship.ResourceName,
                                         ship.ResourceVersion
                                         );
                        }
                    }
                } catch (Exception ex) {
                    Utility.ErrorReporter.SendErrorReport(ex, EncycloRes.FailedToOutputCSV);
                    MessageBox.Show(EncycloRes.FailedToOutputCSV + "\r\n" + ex.Message, Properties.Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #9
0
        private void StripMenu_File_OutputCSVUser_Click(object sender, EventArgs e)
        {
            if (SaveCSVDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try {
                    using (StreamWriter sw = new StreamWriter(SaveCSVDialog.FileName, false, Utility.Configuration.Config.Log.FileEncoding)) {
                        sw.WriteLine(EncycloRes.ShipCSVUserFormat);
                        string arg = string.Format("{{{0}}}", string.Join("},{", Enumerable.Range(0, 59)));

                        foreach (ShipDataMaster ship in KCDatabase.Instance.MasterShips.Values)
                        {
                            if (ship.Name == "なし")
                            {
                                continue;
                            }

                            sw.WriteLine(arg,
                                         ship.ShipID,
                                         ship.AlbumNo,
                                         FormMain.Instance.Translator.GetTranslation(KCDatabase.Instance.ShipTypes[ship.ShipType].Name, Utility.TranslationType.ShipTypes),
                                         ship.Name,
                                         ship.NameReading,
                                         ship.RemodelBeforeShipID > 0 ? ship.RemodelBeforeShip.Name : "-",
                                         ship.RemodelAfterShipID > 0 ? ship.RemodelAfterShip.Name : "-",
                                         ship.RemodelAfterLevel,
                                         ship.RemodelAmmo,
                                         ship.RemodelSteel,
                                         ship.NeedBlueprint > 0 ? ship.NeedBlueprint + EncycloRes.Sheets : "-",
                                         ship.HPMin,
                                         ship.HPMaxMarried,
                                         ship.FirepowerMin,
                                         ship.FirepowerMax,
                                         ship.TorpedoMin,
                                         ship.TorpedoMax,
                                         ship.AAMin,
                                         ship.AAMax,
                                         ship.ArmorMin,
                                         ship.ArmorMax,
                                         ship.ASW != null && !ship.ASW.IsMinimumDefault ? ship.ASW.Minimum.ToString() : "???",
                                         ship.ASW != null && !ship.ASW.IsMaximumDefault ? ship.ASW.Maximum.ToString() : "???",
                                         ship.Evasion != null && !ship.Evasion.IsMinimumDefault ? ship.Evasion.Minimum.ToString() : "???",
                                         ship.Evasion != null && !ship.Evasion.IsMaximumDefault ? ship.Evasion.Maximum.ToString() : "???",
                                         ship.LOS != null && !ship.LOS.IsMinimumDefault ? ship.LOS.Minimum.ToString() : "???",
                                         ship.LOS != null && !ship.LOS.IsMaximumDefault ? ship.LOS.Maximum.ToString() : "???",
                                         ship.LuckMin,
                                         ship.LuckMax,
                                         Constants.GetSpeed(ship.Speed),
                                         Constants.GetRange(ship.Range),
                                         Constants.GetShipRarity(ship.Rarity),
                                         ship.SlotSize,
                                         ship.Aircraft[0],
                                         ship.Aircraft[1],
                                         ship.Aircraft[2],
                                         ship.Aircraft[3],
                                         ship.Aircraft[4],
                                         ship.DefaultSlot != null ? (ship.DefaultSlot[0] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[0]].Name : (ship.SlotSize > 0 ? EncycloRes.None : "")) : "???",
                                         ship.DefaultSlot != null ? (ship.DefaultSlot[1] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[1]].Name : (ship.SlotSize > 1 ? EncycloRes.None : "")) : "???",
                                         ship.DefaultSlot != null ? (ship.DefaultSlot[2] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[2]].Name : (ship.SlotSize > 2 ? EncycloRes.None : "")) : "???",
                                         ship.DefaultSlot != null ? (ship.DefaultSlot[3] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[3]].Name : (ship.SlotSize > 3 ? EncycloRes.None : "")) : "???",
                                         ship.DefaultSlot != null ? (ship.DefaultSlot[4] != -1 ? KCDatabase.Instance.MasterEquipments[ship.DefaultSlot[4]].Name : (ship.SlotSize > 4 ? EncycloRes.None : "")) : "???",
                                         DateTimeHelper.ToTimeRemainString(new TimeSpan(0, ship.BuildingTime, 0)),
                                         ship.Material[0],
                                         ship.Material[1],
                                         ship.Material[2],
                                         ship.Material[3],
                                         ship.PowerUp[0],
                                         ship.PowerUp[1],
                                         ship.PowerUp[2],
                                         ship.PowerUp[3],
                                         ship.MessageGet.Replace("\n", "<br>"),
                                         ship.MessageAlbum.Replace("\n", "<br>"),
                                         ship.Fuel,
                                         ship.Ammo,
                                         Constants.GetVoiceFlag(ship.VoiceFlag),
                                         ship.ResourceName,
                                         ship.ResourceVersion
                                         );
                        }
                    }
                } catch (Exception ex) {
                    Utility.ErrorReporter.SendErrorReport(ex, EncycloRes.FailedToOutputCSV);
                    MessageBox.Show(EncycloRes.FailedToOutputCSV + "\r\n" + ex.Message, Properties.Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }