diff --git a/resource/tasks/MiniGame/AT.json b/resource/tasks/MiniGame/AT.json index a73ab35372..3c4134a732 100644 --- a/resource/tasks/MiniGame/AT.json +++ b/resource/tasks/MiniGame/AT.json @@ -1,5 +1,6 @@ { "MiniGame@AT@ConversationRoom": { + "doc": "墟 - 相谈室·御影", "algorithm": "JustReturn", "next": ["MiniGame@AT@OpenForBusiness", "MiniGame@AT@CanNotOpenForBusiness"] }, diff --git a/resource/tasks/MiniGame/OS.json b/resource/tasks/MiniGame/OS.json index f0323c80a5..5fce9c45a9 100644 --- a/resource/tasks/MiniGame/OS.json +++ b/resource/tasks/MiniGame/OS.json @@ -1,5 +1,6 @@ { "MiniGame@OS@Begin": { + "doc": "雪山降临1101 - 喀兰贸易技术研发部", "algorithm": "JustReturn", "next": ["MiniGame@OS@StartRebuild"] }, diff --git a/resource/tasks/MiniGame/PV-Reproduction.json b/resource/tasks/MiniGame/PV-Reproduction.json index 6bc6f04b22..bf3fc6381b 100644 --- a/resource/tasks/MiniGame/PV-Reproduction.json +++ b/resource/tasks/MiniGame/PV-Reproduction.json @@ -1,5 +1,6 @@ { "MiniGame@PV@Begin": { + "doc": "揭幕者们 - 烟花筹委会", "algorithm": "JustReturn", "next": [ "MiniGame@PV@01", diff --git a/resource/tasks/MiniGame/SPA.json b/resource/tasks/MiniGame/SPA.json index 710be20232..88b427da6e 100644 --- a/resource/tasks/MiniGame/SPA.json +++ b/resource/tasks/MiniGame/SPA.json @@ -1,5 +1,6 @@ { "MiniGame@SPA@Begin": { + "doc": "卫戍协议:盟约", "algorithm": "JustReturn", "next": ["MiniGame@SPA@EnterIndependent"] }, diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index 40c83890a9..77a57a2d32 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -795,6 +795,7 @@ The video aspect ratio needs to be 16:9 without interference factors such as bla Mini Game Name + Select a mini-game from above to start running. PV - Fireworks Organizing Committee Automatically clear from the selected stage. If you choose the first stage, start from the leftmost side of the event page; for other stages, enter the previous stage and then return to calibrate the position. Stronghold Protocol: Alliance diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index d8333a9472..7a47c45e92 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -795,6 +795,7 @@ C:\\leidian\\LDPlayer9 ミニゲーム名 + 上からミニゲームを選択して実行を開始してください。 PV-花火実行委員会 選択したステージから自動でクリアします。最初のステージを選んだ場合は、イベントページの最左側から開始してください。その他のステージを選んだ場合は、位置を校正するために前のステージに一度入ってから戻ってください。 ガードプロトコル:盟約 diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index 8ff24a9480..36b54663bf 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -796,6 +796,7 @@ C:\\leidian\\LDPlayer9 미니 게임 이름 + 위에서 미니 게임을 선택하여 실행을 시작하세요. PV-불꽃놀이 집행위원회 선택한 스테이지부터 자동으로 클리어합니다. 첫 번째 스테이지를 선택한 경우에는 이벤트 페이지의 가장 왼쪽에서 시작하세요. 다른 스테이지를 선택한 경우에는 위치 보정을 위해 이전 스테이지에 먼저 들어갔다가 돌아오세요. 위수 협의: 맹약 diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 32389cb0e2..6fc9713a5d 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -795,6 +795,7 @@ C:\\leidian\\LDPlayer9。\n 小游戏名称 + 在上方选择小游戏以开始运行。 PV-烟花筹委会 从所选关卡开始并自动通关。若选择第一关,则从活动页最左侧开始;若选择其他关卡,请先进入上一关再返回以校准位置。 卫戍协议:盟约 @@ -812,7 +813,7 @@ C:\\leidian\\LDPlayer9。\n 争锋频道:青草城 手动跳过教程对话,然后可以直接退出。 在活动主界面(右下角有 「加入赛事」 处)开始任务。 跟着鸭总喝口汤。 争锋频道:蜜果城 - {key=MiniGame@ALL@GreenGrassTip} + 手动跳过教程对话,然后可以直接退出。 在活动主界面(右下角有 「加入赛事」 处)开始任务。 跟着鸭总喝口汤。 绿票商店 1层全买。 2层买寻访凭证和招聘许可。 黄票商店 diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index d3ce87c14d..dff50e4d28 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -796,6 +796,7 @@ C:\\leidian\\LDPlayer9。\n 小遊戲名稱 + 在上方選擇小遊戲以開始運行。 PV-煙花籌委會 從所選關卡開始並自動通關。若選擇第一關,則從活動頁面最左側開始;若選擇其他關卡,請先進入上一關再返回以校準位置。 衛戍協議:盟約 diff --git a/src/MaaWpfGui/ViewModels/UI/ToolboxViewModel.cs b/src/MaaWpfGui/ViewModels/UI/ToolboxViewModel.cs index e3f2d80983..57778eb57e 100644 --- a/src/MaaWpfGui/ViewModels/UI/ToolboxViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/ToolboxViewModel.cs @@ -73,6 +73,8 @@ public class ToolboxViewModel : Screen LoadDepotDetails(); LoadOperBoxDetails(); OperBoxSelectedIndex = OperBoxNotHaveList.Count > 0 ? 0 : 1; + + UpdateMiniGameTaskList(); } private bool _idle; @@ -1235,22 +1237,41 @@ public class ToolboxViewModel : Screen [ // 固定 - new() { Display = LocalizationHelper.GetString("MiniGameNameSsStore"), Value = "SS@Store@Begin" }, - new() { Display = LocalizationHelper.GetString("MiniGameNameGreenTicketStore"), Value = "GreenTicket@Store@Begin" }, - new() { Display = LocalizationHelper.GetString("MiniGameNameYellowTicketStore"), Value = "YellowTicket@Store@Begin" }, - new() { Display = LocalizationHelper.GetString("MiniGameNameRAStore"), Value = "RA@Store@Begin" }, + new() { Display = LocalizationHelper.GetString("MiniGameNameSsStore"), Value = "SS@Store@Begin" }, // 活动商店 + new() { Display = LocalizationHelper.GetString("MiniGameNameGreenTicketStore"), Value = "GreenTicket@Store@Begin" }, // 绿票商店 + new() { Display = LocalizationHelper.GetString("MiniGameNameYellowTicketStore"), Value = "YellowTicket@Store@Begin" }, // 黄票商店 + new() { Display = LocalizationHelper.GetString("MiniGameNameRAStore"), Value = "RA@Store@Begin" }, // 生息演算商店 // 活动 - new() { Display = LocalizationHelper.GetString("MiniGame@PV"), Value = "MiniGame@PV@Begin" }, - new() { Display = LocalizationHelper.GetString("MiniGame@SPA"), Value = "MiniGame@SPA@Begin" }, - new() { Display = LocalizationHelper.GetString("MiniGame@OS"), Value = "MiniGame@OS@Begin" }, - new() { Display = LocalizationHelper.GetString("MiniGame@RM-TR-1"), Value = "MiniGame@RM-TR-1@Begin" }, - new() { Display = LocalizationHelper.GetString("MiniGame@RM-1"), Value = "MiniGame@RM-1@Begin" }, - new() { Display = LocalizationHelper.GetString("MiniGame@AT@ConversationRoom"), Value = "MiniGame@AT@ConversationRoom" }, - new() { Display = LocalizationHelper.GetString("MiniGame@ALL@HoneyFruit"), Value = "MiniGame@ALL@GreenGrass@HoneyFruit@Begin" }, - new() { Display = LocalizationHelper.GetString("MiniGame@ALL@GreenGrass"), Value = "MiniGame@ALL@GreenGrass@DuelChannel@Begin" }, + // new() { Display = LocalizationHelper.GetString("MiniGame@PV"), Value = "MiniGame@PV@Begin" }, // 揭幕者们 - 烟花筹委会 + // new() { Display = LocalizationHelper.GetString("MiniGame@SPA"), Value = "MiniGame@SPA@Begin" }, // 卫戍协议:盟约 + // new() { Display = LocalizationHelper.GetString("MiniGame@ALL@GreenGrass"), Value = "MiniGame@ALL@GreenGrass@DuelChannel@Begin" }, // 争锋频道 - 青草城 + // new() { Display = LocalizationHelper.GetString("MiniGame@ALL@HoneyFruit"), Value = "MiniGame@ALL@HoneyFruit@DuelChannel@Begin" }, // 争锋频道 - 蜜果城 + // new() { Display = LocalizationHelper.GetString("MiniGame@OS"), Value = "MiniGame@OS@Begin" }, // 雪山降临1101 - 喀兰贸易技术研发部 + // new() { Display = LocalizationHelper.GetString("MiniGame@RM-TR-1"), Value = "MiniGame@RM-TR-1@Begin" }, // 次生预案 + // new() { Display = LocalizationHelper.GetString("MiniGame@RM-1"), Value = "MiniGame@RM-1@Begin" }, // 次生预案 + // new() { Display = LocalizationHelper.GetString("MiniGame@AT@ConversationRoom"), Value = "MiniGame@AT@ConversationRoom" }, // 墟 - 相谈室·御影 + + // 已完结活动 ]; + private static void UpdateMiniGameTaskList() + { + if (SettingsViewModel.GameSettings.ClientType is "Official" or "Bilibili") + { + MiniGameTaskList.Add(new CombinedData + { Display = LocalizationHelper.GetString("MiniGame@SPA"), Value = "MiniGame@SPA@Begin" }); + } + else if (SettingsViewModel.GameSettings.ClientType is "YoStarEN" or "YoStarJP" or "YoStarKR") + { + } + else if (SettingsViewModel.GameSettings.ClientType is "txwy") + { + MiniGameTaskList.Add(new CombinedData + { Display = LocalizationHelper.GetString("MiniGame@ALL@GreenGrass"), Value = "MiniGame@ALL@GreenGrass@DuelChannel@Begin" }); + } + } + private string _miniGameTaskName = ConfigurationHelper.GetGlobalValue(ConfigurationKeys.MiniGameTaskName, "SS@Store@Begin"); public string MiniGameTaskName @@ -1278,6 +1299,11 @@ public class ToolboxViewModel : Screen private static string GetMiniGameTip(string name) { + if (string.IsNullOrEmpty(name) || !MiniGameTaskList.Any(item => item.Value == name)) + { + return LocalizationHelper.GetString("MiniGameNameEmptyTip"); + } + return name switch { // 固定 @@ -1294,6 +1320,7 @@ public class ToolboxViewModel : Screen "MiniGame@RM-1@Begin" => LocalizationHelper.GetString("MiniGame@RM-1Tip"), "MiniGame@AT@ConversationRoom" => LocalizationHelper.GetString("MiniGame@AT@ConversationRoomTip"), "MiniGame@ALL@GreenGrass@DuelChannel@Begin" => LocalizationHelper.GetString("MiniGame@ALL@GreenGrassTip"), + "MiniGame@ALL@HoneyFruit@DuelChannel@Begin" => LocalizationHelper.GetString("MiniGame@ALL@HoneyFruitTip"), _ => string.Empty, }; }