From 7ac707bdc51d6123a499c9864db103a6bbbb165f Mon Sep 17 00:00:00 2001 From: milimoe Date: Wed, 15 Apr 2026 00:09:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B0=E6=8A=80=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Desktop/GameMapTesting/GameMapController.cs | 4 ++-- Desktop/GameMapTesting/GameMapTesting.cs | 15 ++++++++------- Library/Tests/FunGame.cs | 4 ++-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Desktop/GameMapTesting/GameMapController.cs b/Desktop/GameMapTesting/GameMapController.cs index be6129c..ae2660e 100644 --- a/Desktop/GameMapTesting/GameMapController.cs +++ b/Desktop/GameMapTesting/GameMapController.cs @@ -109,9 +109,9 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting ); } - public async Task> RequestTargetSelection(Character character, ISkill skill, List enemys, List teammates, List range) + public async Task> RequestTargetSelection(Character character, ISkill skill, List allEnemys, List allTeammates, List enemys, List teammates, List range) { - List selectable = skill.GetSelectableTargets(character, enemys, teammates); + List selectable = skill.GetSelectableTargets(character, allEnemys, allTeammates, enemys, teammates); await WriteLine($"请为 {skill.Name} 选择目标 (最多 {skill.RealCanSelectTargetCount(enemys, teammates)} 个)。"); List targets = await _targetSelectionRequester.RequestInput( async (callback) => await UI.InvokeAsync(() => UI.ShowTargetSelectionUI(character, skill, selectable, enemys, teammates, range, callback)) diff --git a/Desktop/GameMapTesting/GameMapTesting.cs b/Desktop/GameMapTesting/GameMapTesting.cs index f912e3c..2fc58e4 100644 --- a/Desktop/GameMapTesting/GameMapTesting.cs +++ b/Desktop/GameMapTesting/GameMapTesting.cs @@ -324,17 +324,14 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting hpPercentage.TryAdd(c, c.HP / c.MaxHP); } double max = hpPercentage.Values.Max(); - Character winner = hpPercentage.Keys.Where(c => hpPercentage[c] == max).First(); + Character winner = hpPercentage.Keys.First(c => hpPercentage[c] == max); await Controller.WriteLine("[ " + winner + " ] 成为了天选之人!!"); foreach (Character c in characters.Where(c => c != winner && c.HP > 0)) { await Controller.WriteLine("[ " + winner + " ] 对 [ " + c + " ] 造成了 99999999999 点真实伤害。"); _gamingQueue.DeathCalculation(winner, c); } - if (mgq != null) - { - mgq.EndGameInfo(winner); - } + mgq?.EndGameInfo(winner); } result.Add(Msg); break; @@ -586,7 +583,7 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting return true; } - private List GamingQueue_SelectNormalAttackTargets(GamingQueue queue, Character character, NormalAttack attack, List enemys, List teammates, List attackRange) + private List GamingQueue_SelectNormalAttackTargets(GamingQueue queue, Character character, NormalAttack attack, List allEnemys, List allTeammates, List enemys, List teammates, List attackRange) { if (!IsPlayer_OnlyTest(queue, character)) return []; @@ -594,6 +591,8 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting List selectedTargets = SyncAwaiter.WaitResult(Controller.RequestTargetSelection( character, attack, + allEnemys, + allTeammates, enemys, teammates, attackRange @@ -613,7 +612,7 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting return selectedItem; } - private List GamingQueue_SelectSkillTargets(GamingQueue queue, Character caster, Skill skill, List enemys, List teammates, List castRange) + private List GamingQueue_SelectSkillTargets(GamingQueue queue, Character caster, Skill skill, List allEnemys, List allTeammates, List enemys, List teammates, List castRange) { if (!IsPlayer_OnlyTest(queue, caster)) return []; @@ -626,6 +625,8 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting List? selectedTargets = SyncAwaiter.WaitResult(Controller.RequestTargetSelection( caster, skill, + allEnemys, + allTeammates, enemys, teammates, castRange diff --git a/Library/Tests/FunGame.cs b/Library/Tests/FunGame.cs index f0b17c7..0435711 100644 --- a/Library/Tests/FunGame.cs +++ b/Library/Tests/FunGame.cs @@ -428,7 +428,7 @@ namespace Milimoe.FunGame.Testing.Tests return true; } - private static List GamingQueue_SelectNormalAttackTargets(GamingQueue queue, Character character, NormalAttack attack, List enemys, List teammates, List attackRange) + private static List GamingQueue_SelectNormalAttackTargets(GamingQueue queue, Character character, NormalAttack attack, List allEnemys, List allTeammates, List enemys, List teammates, List attackRange) { List characters = []; if (IsPlayer_OnlyTest(queue, character)) @@ -530,7 +530,7 @@ namespace Milimoe.FunGame.Testing.Tests return item; } - private static List GamingQueue_SelectSkillTargets(GamingQueue queue, Character caster, Skill skill, List enemys, List teammates, List castRange) + private static List GamingQueue_SelectSkillTargets(GamingQueue queue, Character caster, Skill skill, List allEnemys, List allTeammates, List enemys, List teammates, List castRange) { List characters = []; if (IsPlayer_OnlyTest(queue, caster))