## 🚀 Added (New Features)
• Quick Swap Feature:
• Users can now bind keyboard keys (both single keys and multi-key combinations, e.g., Alt+1 ) to switch to
specific operator sets.
• Auto-toggle capability: Pressing the hotkey switches to the target operator set (automatically changing side
if the operator is on standard Attackers/Defenders side). Pressing it again toggles back to the baseline
operator set.
• Added specificity filtering: Resolves overlapping hotkeys (e.g., pressing Alt+1 will only trigger the Alt+1
binding, successfully ignoring the individual 1 key binding).
• Added a dedicated Quick Swap Bindings editor inside the Settings panel to configure, save, and reload these
bindings visually.
## ⚙️ Updated (Refactoring & Architecture)
• Graceful Thread Shutdown: Updated RecoilEngine.cs to run with a CancellationToken linked to the main window
lifespan, matching HotkeyHandler.cs and preventing background thread leaks when exiting.
• State Management: Updated OperatorSets methods to protect the quick swap transition state, ensuring manual
adjustments (clicks or next/prev hotkeys) reset the quick-swap toggle baseline.
• Config Serialization: Updated MainWindow configuration generator to save new quick-swap parameters cleanly back
to init.config .
## 🛠️ Fixed (Bugs resolved)
• TabControl/Menu Text Colors: Fixed the styling on MainWindow.xaml tab headers. Unselected and hover states now
render in clear light greys, and active tabs in solid white, resolving dark-on-dark invisible text bugs.
• Dropdown Selection Visibility: Changed the text foreground color of TextColorComboBox in MainWindow.xaml from
black to white to make choices readable in dark mode.
• UI Console Text Color: Bound the console setting ( textColor ) to the actual WPF GUI log ( ConsoleOutput.
Foreground ), making the chosen color reflect in the application window.
──────
### 📂 File-Level Changes Summary
• helper.cs: Added helper.cs to safely parse combinations.
• ConfigLoader.cs: Added ConfigLoader.cs class and loading logic.
• OperatorSets.cs: Added OperatorSets.cs and state-tracking flags.
• HotkeyHandler.cs: Registered hotkey monitoring loops for multi-key patterns.
• RecoilEngine.cs: Integrated thread lifecycle cancellation.
• MainWindow.xaml: Styled menus, fixed dropdown contrast, and added Quick Swap bindings textbox.
• MainWindow.xaml.cs: Connected UI controls to backend quick-swap actions and applied dynamic log coloring.
This commit is contained in:
+13
-1
@@ -1,10 +1,19 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace Lua
|
||||
{
|
||||
public class QuickSwapBinding
|
||||
{
|
||||
public int[] Keys { get; set; }
|
||||
public string TargetOperator { get; set; }
|
||||
public bool IsHeld { get; set; }
|
||||
}
|
||||
|
||||
internal static class ConfigLoader
|
||||
{
|
||||
public static System.Collections.Generic.List<QuickSwapBinding> quickSwaps = new System.Collections.Generic.List<QuickSwapBinding>();
|
||||
|
||||
// AA0001
|
||||
public static bool debitFlag1 = false;
|
||||
// AA0002
|
||||
@@ -58,6 +67,7 @@ namespace Lua
|
||||
jitterBurstTime = 1800;
|
||||
jitterCooldown = 3000;
|
||||
textColor = ConsoleColor.Magenta;
|
||||
quickSwaps.Clear();
|
||||
|
||||
SetConsoleColor();
|
||||
|
||||
@@ -108,6 +118,8 @@ namespace Lua
|
||||
// AA0026
|
||||
else if (Helper.ParseConsoleColorFromAssignment(line, "textColor", out var col))
|
||||
textColor = col;
|
||||
else if (Helper.ParseQuickSwap(line, out var qsKeys, out var qsOp))
|
||||
quickSwaps.Add(new QuickSwapBinding { Keys = qsKeys, TargetOperator = qsOp });
|
||||
}
|
||||
|
||||
// AA0027
|
||||
|
||||
Reference in New Issue
Block a user