diff --git a/Desktop/GameMapTesting/GameMapController.cs b/Desktop/GameMapTesting/GameMapController.cs index bc8149e..9c0bbc6 100644 --- a/Desktop/GameMapTesting/GameMapController.cs +++ b/Desktop/GameMapTesting/GameMapController.cs @@ -98,15 +98,14 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting ); } - public async Task> RequestTargetSelection(Character character, ISkill skill, List enemys, List teammates) + public async Task> RequestTargetSelection(Character character, ISkill skill, List enemys, List teammates, List range) { List selectable = skill.GetSelectableTargets(character, enemys, teammates); await WriteLine($"请为 {character.NickName} 选择目标 (最多 {skill.RealCanSelectTargetCount(enemys, teammates)} 个)。"); - List targetIds = await _targetSelectionRequester.RequestInput( - async (callback) => await UI.InvokeAsync(() => UI.ShowTargetSelectionUI(character, skill, selectable, enemys, teammates, callback)) + List targets = await _targetSelectionRequester.RequestInput( + async (callback) => await UI.InvokeAsync(() => UI.ShowTargetSelectionUI(character, skill, selectable, enemys, teammates, range, callback)) ) ?? []; - if (targetIds == null) return []; - return [.. selectable.Where(targetIds.Contains)]; + return [.. targets.Where(selectable.Contains)]; } public async Task RequestSkillSelection(Character character, List availableSkills) diff --git a/Desktop/GameMapTesting/GameMapTesting.cs b/Desktop/GameMapTesting/GameMapTesting.cs index f6f6809..736875e 100644 --- a/Desktop/GameMapTesting/GameMapTesting.cs +++ b/Desktop/GameMapTesting/GameMapTesting.cs @@ -64,11 +64,13 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting Level = slevel }; c.Skills.Add(skill); - Skill passive = new 征服者(c) + foreach (Skill skillLoop in FunGameConstant.CommonPassiveSkills) { - Level = 1 - }; - c.Skills.Add(passive); + Skill passive = skillLoop.Copy(); + passive.Character = c; + passive.Level = 1; + c.Skills.Add(passive); + } characters.Add(c); } @@ -176,6 +178,7 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting List grids = [.. map.Grids.Values]; foreach (Character character in characters) { + character.NormalAttack.GamingQueue = _gamingQueue; Grid grid = Grid.Empty; do { @@ -482,7 +485,7 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting } } - private async Task GamingQueue_SelectTargetGrid(GamingQueue queue, Character character, List enemys, List teammates, GameMap map) + private async Task GamingQueue_SelectTargetGrid(GamingQueue queue, Character character, List enemys, List teammates, GameMap map, List moveRange) { if (!IsPlayer_OnlyTest(queue, character) || _gamingQueue is null || _gamingQueue.Map is null) return Grid.Empty; @@ -526,7 +529,7 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting return true; } - private async Task> GamingQueue_SelectNormalAttackTargets(GamingQueue queue, Character character, NormalAttack attack, List enemys, List teammates) + private async Task> GamingQueue_SelectNormalAttackTargets(GamingQueue queue, Character character, NormalAttack attack, List enemys, List teammates, List attackRange) { if (!IsPlayer_OnlyTest(queue, character)) return []; @@ -535,7 +538,8 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting character, attack, enemys, - teammates + teammates, + attackRange ); await Controller.ResolveTargetSelection(selectedTargets); @@ -552,7 +556,7 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting return selectedItem; } - private async Task> GamingQueue_SelectSkillTargets(GamingQueue queue, Character caster, Skill skill, List enemys, List teammates) + private async Task> GamingQueue_SelectSkillTargets(GamingQueue queue, Character caster, Skill skill, List enemys, List teammates, List castRange) { if (!IsPlayer_OnlyTest(queue, caster)) return []; @@ -566,7 +570,8 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting caster, skill, enemys, - teammates + teammates, + castRange ); await Controller.ResolveTargetSelection(selectedTargets); @@ -670,7 +675,8 @@ namespace Milimoe.FunGame.Testing.Desktop.GameMapTesting if (b != null) drops.Add(b); if (c != null) drops.Add(c); if (d != null) drops.Add(d); - Item? magicCardPack = FunGameService.GenerateMagicCardPack(3, (QualityType)mQuality); + mQuality = 2; + Item? magicCardPack = FunGameService.GenerateMagicCardPack(8, (QualityType)mQuality); if (magicCardPack != null) { foreach (Skill magic in magicCardPack.Skills.Magics) diff --git a/Desktop/GameMapTesting/GameMapViewer.xaml b/Desktop/GameMapTesting/GameMapViewer.xaml index 7387991..18cc276 100644 --- a/Desktop/GameMapTesting/GameMapViewer.xaml +++ b/Desktop/GameMapTesting/GameMapViewer.xaml @@ -575,7 +575,7 @@ -