From 882db1c0428a8d74717f8af6b6278b7a3aea91f4 Mon Sep 17 00:00:00 2001 From: Asayu233 <76391894+Asayu233@users.noreply.github.com> Date: Thu, 30 Jun 2022 19:39:20 +0800 Subject: [PATCH] Update FormMain.cs --- Source/GrasscutterTools/Forms/FormMain.cs | 101 ++++++++++++++++------ 1 file changed, 76 insertions(+), 25 deletions(-) diff --git a/Source/GrasscutterTools/Forms/FormMain.cs b/Source/GrasscutterTools/Forms/FormMain.cs index 7c00201..92e6645 100644 --- a/Source/GrasscutterTools/Forms/FormMain.cs +++ b/Source/GrasscutterTools/Forms/FormMain.cs @@ -1,4 +1,4 @@ -/** +/** * Grasscutter Tools * Copyright (C) 2022 jie65535 * @@ -44,6 +44,7 @@ namespace GrasscutterTools.Forms LoadVersion(); LoadSettings(); LoadUpdate(); + ChangeTPArtifact(); } private void FormMain_Load(object sender, EventArgs e) @@ -163,6 +164,45 @@ namespace GrasscutterTools.Forms #endif } + // 合并后给予的圣遗物等级与游戏内对应 + private void ChangeTPArtifact() + { + if (ChkNewCommand.Checked) + { + NUDArtifactLevel.Minimum = 0; + NUDArtifactLevel.Maximum = 20; + if (CmbLanguage.SelectedIndex == 0) + { + LblArtifactLevelTip.Text = "可用等级: 0-20"; + } + else if (CmbLanguage.SelectedIndex == 1) + { + LblArtifactLevelTip.Text = "value: 0-20"; + } + else if (CmbLanguage.SelectedIndex == 2) + { + LblArtifactLevelTip.Text = "ценность: 0-20"; + } + } + else + { + NUDArtifactLevel.Minimum = 1; + NUDArtifactLevel.Maximum = 21; + if (CmbLanguage.SelectedIndex == 0) + { + LblArtifactLevelTip.Text = "可用等级: 1-21"; + } + else if (CmbLanguage.SelectedIndex == 1) + { + LblArtifactLevelTip.Text = "value: 1-21"; + } + else if (CmbLanguage.SelectedIndex == 2) + { + LblArtifactLevelTip.Text = "ценность: 1-21"; + } + } + } + #endregion - 初始化 - #region - 主页 - @@ -203,6 +243,7 @@ namespace GrasscutterTools.Forms { MultiLanguage.SetDefaultLanguage(Languages[CmbLanguage.SelectedIndex]); FormMain_Load(this, EventArgs.Empty); + ChangeTPArtifact(); } private void ChkTopMost_CheckedChanged(object sender, EventArgs e) @@ -210,6 +251,11 @@ namespace GrasscutterTools.Forms TopMost = ChkTopMost.Checked; } + private void ChkNewCommand_CheckedChanged(object sender, EventArgs e) + { + ChangeTPArtifact(); + } + #endregion - 主页 - #region - 自定义 - @@ -256,7 +302,10 @@ namespace GrasscutterTools.Forms if (sender is LinkLabel lnk && lnk.Tag is string command) { TxtCustomName.Text = lnk.Text; - SetCommand(command); + if (ChkIncludeUID.Checked) + SetCommand($"{command} @{NUDUid.Value}"); + else + SetCommand(command); } } @@ -547,17 +596,10 @@ namespace GrasscutterTools.Forms private void TxtWeaponFilter_TextChanged(object sender, EventArgs e) { var filter = TxtWeaponFilter.Text.Trim(); - if (!string.IsNullOrEmpty(filter)) - { - foreach (var name in GameData.Weapons.Names) - { - if (name.Contains(filter)) - { - ListWeapons.SelectedItem = name; - return; - } - } - } + ListWeapons.BeginUpdate(); + ListWeapons.Items.Clear(); + ListWeapons.Items.AddRange(GameData.Weapons.Names.Where(n => n.Contains(filter)).ToArray()); + ListWeapons.EndUpdate(); } private void WeaponValueChanged(object sender, EventArgs e) @@ -587,14 +629,7 @@ namespace GrasscutterTools.Forms var filter = TxtGameItemFilter.Text.Trim(); ListGameItems.BeginUpdate(); ListGameItems.Items.Clear(); - if (string.IsNullOrEmpty(filter)) - { - ListGameItems.Items.AddRange(GameData.Items.Lines); - } - else - { - ListGameItems.Items.AddRange(GameData.Items.Lines.Where(n => n.Contains(filter)).ToArray()); - } + ListGameItems.Items.AddRange(GameData.Items.Lines.Where(n => n.Contains(filter)).ToArray()); ListGameItems.EndUpdate(); } @@ -852,6 +887,15 @@ namespace GrasscutterTools.Forms CmbClimateType.Items.AddRange(Resources.ClimateType.Split(',')); } + private void TxtSceneFilter_TextChanged(object sender, EventArgs e) + { + var filter = TxtSceneFilter.Text.Trim(); + ListScenes.BeginUpdate(); + ListScenes.Items.Clear(); + ListScenes.Items.AddRange(GameData.Scenes.Lines.Where(n => n.Contains(filter)).ToArray()); + ListScenes.EndUpdate(); + } + private void ListScenes_SelectedIndexChanged(object sender, EventArgs e) { if (ListScenes.SelectedIndex < 0) @@ -861,11 +905,15 @@ namespace GrasscutterTools.Forms } ChkIncludeSceneId.Enabled = true; - // 新的命令不再支持changescene,已合并到tp中 + // 可以直接弃用 scene 命令 + var id = GameData.Scenes.Ids[ListScenes.SelectedIndex]; if (!ChkNewCommand.Checked) { - var id = GameData.Scenes.Ids[ListScenes.SelectedIndex]; - SetCommand("/changescene", id.ToString()); + SetCommand("/scene", id.ToString()); + } + else + { + SetCommand("/tp ~ ~ ~", id.ToString()); } } @@ -1342,7 +1390,10 @@ namespace GrasscutterTools.Forms SetCommand("/quest", $"{(sender as Button).Tag} {id}"); } + + #endregion - 任务 - + } -} \ No newline at end of file +}