execute macro even if not successfully recognized

This commit is contained in:
辉鸭蛋
2024-04-28 00:14:43 +08:00
parent 18c1e9f978
commit b60784b8df
2 changed files with 17 additions and 4 deletions

View File

@@ -31,6 +31,8 @@ public class OneKeyFightTask : Singleton<OneKeyFightTask>
private int activeMacroPriority = -1;
private DateTime _lastUpdateTime = DateTime.MinValue;
private CombatScenes? _currentCombatScenes;
public void KeyDown()
{
if (_isKeyDown || !IsEnabled())
@@ -129,11 +131,22 @@ public class OneKeyFightTask : Singleton<OneKeyFightTask>
var combatScenes = new CombatScenes().InitializeTeam(content);
if (!combatScenes.CheckTeamInitialized())
{
Logger.LogError("队伍角色识别失败");
return Task.CompletedTask;
if (_currentCombatScenes == null)
{
Logger.LogError("首次队伍角色识别失败");
return Task.CompletedTask;
}
else
{
Logger.LogWarning("队伍角色识别失败,使用上次识别结果,队伍未切换时无影响");
}
}
else
{
_currentCombatScenes = combatScenes;
}
// 找到出战角色
var activeAvatar = combatScenes.Avatars.First(avatar => avatar.IsActive(content));
var activeAvatar = _currentCombatScenes.Avatars.First(avatar => avatar.IsActive(content));
if (_avatarMacros != null && _avatarMacros.TryGetValue(activeAvatar.Name, out var combatCommands))
{

View File

@@ -36,7 +36,7 @@
<ui:TextBlock Grid.Row="0"
Grid.Column="0"
FontTypography="Body"
Text="一键战斗宏"
Text="当前角色一键宏"
TextWrapping="Wrap" />
<ui:TextBlock Grid.Row="1"
Grid.Column="0"