/// <summary> /// NationalLeaderSettings.csの入力チェック処理 /// </summary> /// <param name="textBoxes"></param> /// <param name="richTextBoxes"></param> /// <param name="comboBoxes"></param> /// <returns></returns> public static int NationalLeaderSettingsChecker(List <TextBox> textBoxes, List <RichTextBox> richTextBoxes, List <ComboBox> comboBoxes) { // TODO: 画像ファイルパスの入力チェック string inputPlace; if (DirChecker() == 1) { return(1); } inputPlace = InputPlaceResponder.ReturnNationalLeaderSettingsInputPlace(textBoxes[0].Tag.ToString()); if (IsNullOrWhiteSpace(textBoxes[0].Text, inputPlace) == 1) { return(1); } inputPlace = InputPlaceResponder.ReturnNationalLeaderSettingsInputPlace(richTextBoxes[0].Tag.ToString()); if (IsNullOrWhiteSpace(richTextBoxes[0].Text, inputPlace) == 1) { return(1); } inputPlace = InputPlaceResponder.ReturnNationalLeaderSettingsInputPlace(textBoxes[1].Tag.ToString()); if (IsNullOrWhiteSpace(textBoxes[1].Text, inputPlace) == 1) { return(1); } if (textBoxes[1].Text != "") { // ファイルチェック if (!File.Exists(textBoxes[1].Text)) { MessageBoxShower.ErrorMessage($"{inputPlace}で指定されたファイルが存在しません。"); return(1); } // 拡張子チェック if (Path.GetExtension(textBoxes[1].Text) != ".dds") { MessageBoxShower.ErrorMessage($"{inputPlace}で指定されたファイルの種類には対応していません。"); return(1); } } inputPlace = InputPlaceResponder.ReturnNationalLeaderSettingsInputPlace(comboBoxes[0].Tag.ToString()); if (comboBoxes[0].SelectedItem == null || comboBoxes[1].SelectedItem == null) { MessageBoxShower.ErrorMessage($"{inputPlace}が設定されていません。"); return(1); } MessageBoxShower.InfoMessage("入力チェックが完了しました。"); return(0); }
/// <summary> /// FactionSettings.csの入力チェック処理 /// </summary> /// <param name="textBoxes"></param> /// <returns></returns> public static int FactionSettingsChecker(List <TextBox> textBoxes) { string inputPlace; if (DirChecker() == 1) { return(1); } inputPlace = InputPlaceResponder.ReturnFactionSettingsInputPlace(textBoxes[0].Tag.ToString()); if (IsNullOrWhiteSpace(textBoxes[0].Text, inputPlace) == 1) { return(1); } inputPlace = InputPlaceResponder.ReturnFactionSettingsInputPlace(textBoxes[1].Tag.ToString()); if (IsNullOrWhiteSpace(textBoxes[1].Text, inputPlace) == 1) { return(1); } MessageBoxShower.InfoMessage("入力チェックが完了しました。"); return(0); }
/// <summary> /// Main.csの入力チェック処理 /// </summary> /// <param name="textBoxes"></param> /// <param name="comboBoxes"></param> /// <param name="checkBoxes"></param> /// <returns></returns> public static int MainGenrateChecker(List <TextBox> textBoxes, List <ComboBox> comboBoxes, List <CheckBox> checkBoxes) { string inputPlace; if (DirChecker() == 1) { return(1); } // 国家タグ inputPlace = InputPlaceResponder.ReturnMainInputPlace(textBoxes[0].Tag.ToString()); if (IsNullOrWhiteSpace(textBoxes[0].Text, inputPlace) == 1) { return(1); } if (textBoxes[0].Text.Length != 3) { // テキスト文字数が3文字ではない MessageBoxShower.ErrorMessage($"{inputPlace}は3文字で構成されている必要があります。"); return(1); } if (!char.IsUpper(textBoxes[0].Text[0]) || !char.IsUpper(textBoxes[0].Text[1]) || !char.IsUpper(textBoxes[0].Text[2])) { // すべての文字が大文字ではない MessageBoxShower.ErrorMessage($"{inputPlace}はすべての文字が大文字で構成されている必要があります。"); return(1); } if (HaveInvaliedChars(textBoxes[0].Text) == true) { // ファイル名に使用できない文字が使用されている MessageBoxShower.ErrorMessage($"{inputPlace}に使用できない文字が使用されています。"); return(1); } // Modの接頭語 inputPlace = InputPlaceResponder.ReturnMainInputPlace(textBoxes[1].Tag.ToString()); if (IsNullOrWhiteSpace(textBoxes[1].Text, inputPlace) == 1) { return(1); } if (textBoxes[1].Text.IndexOf(" ") != -1) { // テキストにスペースが含まれている MessageBoxShower.ErrorMessage($"{inputPlace}にスペースを含めることはできません。"); return(1); } if (HaveInvaliedChars(textBoxes[1].Text) == true) { MessageBoxShower.ErrorMessage($"{inputPlace}に使用できない文字が使用されています。"); return(1); } // 国名(内部処理用) inputPlace = InputPlaceResponder.ReturnMainInputPlace(textBoxes[2].Tag.ToString()); if (IsNullOrWhiteSpace(textBoxes[2].Text, inputPlace) == 1) { return(1); } if (HaveInvaliedChars(textBoxes[2].Text) == true) { MessageBoxShower.ErrorMessage($"{inputPlace}に使用できない文字が使用されています。"); return(1); } // 国名 for (int cnt = 3; cnt <= 14; cnt++) { inputPlace = InputPlaceResponder.ReturnMainInputPlace(textBoxes[cnt].Tag.ToString()); if (textBoxes[cnt].Enabled == true && IsNullOrWhiteSpace(textBoxes[cnt].Text, inputPlace) == 1) { return(1); } } // 国旗 for (int cnt = 15; cnt <= 26; cnt++) { inputPlace = InputPlaceResponder.ReturnMainInputPlace(textBoxes[cnt].Tag.ToString()); if (textBoxes[cnt].Enabled == true && textBoxes[cnt].Text != "") { // ファイルチェック if (File.Exists(textBoxes[cnt].Text) == false) { MessageBoxShower.ErrorMessage($"{inputPlace}で指定されたファイルが存在しません。"); return(1); } // 拡張子チェック if (Path.GetExtension(textBoxes[cnt].Text) != ".tga") { MessageBoxShower.ErrorMessage($"{inputPlace}で指定されたファイルの種類には対応していません。"); return(1); } } } // 政党名 for (int cnt = 27; cnt <= 34; cnt++) { inputPlace = InputPlaceResponder.ReturnMainInputPlace(textBoxes[cnt].Tag.ToString()); // 政党名を指定しない場合は通称名・正式名の両方を空欄にする必要がある // 27, 29, 31, 33のテキストボックス if (cnt % 2 == 1) { if (textBoxes[cnt].Text == "" || textBoxes[cnt + 1].Text == "") { if ((textBoxes[cnt].Text == "" && textBoxes[cnt].Text == "") == false) { MessageBoxShower.ErrorMessage($"{InputPlaceResponder.ReturnMainInputPlace(textBoxes[cnt].Tag.ToString())}または{InputPlaceResponder.ReturnMainInputPlace(textBoxes[cnt + 1].Tag.ToString())}の片方のみを空欄にすることはできません。\n{inputPlace}を設定しない場合、[表示名]と[正式名]の両方を空欄にする必要があります。"); return(1); } } } if (textBoxes[cnt].Enabled == true && IsNullOrWhiteSpace(textBoxes[cnt].Text, inputPlace) == 1) { return(1); } } // 各種設定 // 宗主国の国家タグ if (checkBoxes[0].Checked == true) { inputPlace = InputPlaceResponder.ReturnMainInputPlace(textBoxes[35].Tag.ToString()); if (IsNullOrWhiteSpace(textBoxes[35].Text, inputPlace) == 1) { return(1); } if (textBoxes[35].Text.Length != 3) { // テキスト文字数が3文字ではない MessageBoxShower.ErrorMessage($"{inputPlace}は3文字で構成されている必要があります。"); return(1); } if (!char.IsUpper(textBoxes[35].Text[0]) || !char.IsUpper(textBoxes[35].Text[1]) || !char.IsUpper(textBoxes[35].Text[2])) { // すべての文字が大文字ではない MessageBoxShower.ErrorMessage($"{inputPlace}はすべての文字が大文字で構成されている必要があります。"); return(1); } if (HaveInvaliedChars(textBoxes[35].Text) == true) { // ファイル名に使用できない文字が使用されている MessageBoxShower.ErrorMessage($"{inputPlace}に使用できない文字が使用されています。"); return(1); } } // 汎用顔グラフィック inputPlace = InputPlaceResponder.ReturnMainInputPlace(comboBoxes[0].Tag.ToString()); if (comboBoxes[0].SelectedItem == null) { MessageBoxShower.ErrorMessage($"{inputPlace}が設定されていません。"); return(1); } // 政党支持率の合計が100%ではない場合 inputPlace = InputPlaceResponder.ReturnMainInputPlace(textBoxes[36].Tag.ToString()); if (int.Parse(textBoxes[36].Text) != 100) { MessageBoxShower.ErrorMessage($"{inputPlace}が100%ではありません。各政党支持率の合計が100%になるように調整してください。"); return(1); } // イデオロギー inputPlace = InputPlaceResponder.ReturnMainInputPlace(comboBoxes[1].Tag.ToString()); if (comboBoxes[1].SelectedItem == null) { MessageBoxShower.ErrorMessage($"{inputPlace}が設定されていません。"); return(1); } MessageBoxShower.InfoMessage("入力チェックが完了しました。"); return(0); }