fix(gui): wire up Loadout Manager and real HUD overlay
- Add Tools menu with Loadout Manager (Ctrl+L) - Replace placeholder HUD with real HUDOverlay from hud_overlay.py - Add on_loadout_manager() method
This commit is contained in:
parent
2496fdab71
commit
0f555b1a3a
|
|
@ -0,0 +1,42 @@
|
||||||
|
# 2026-02-08 Evening Session - Phase 2 Complete
|
||||||
|
|
||||||
|
## 🎉 MILESTONE: All Tests Passing
|
||||||
|
|
||||||
|
**Time:** 21:17 UTC
|
||||||
|
**Commit:** `43a43e2`
|
||||||
|
**Status:** ✅ 42/42 tests passing
|
||||||
|
|
||||||
|
### What Was Fixed
|
||||||
|
1. **SimpleCache typo** — `_timestamps` → `self._timestamps`
|
||||||
|
2. **MOCK_TOOLS key typo** — `" Ziplex Z1"` → `"ziplex_z1"`
|
||||||
|
3. **DPP calculation bug** — formula was dividing by PED instead of PEC (100x error)
|
||||||
|
4. **DPP test expectation** — updated to match correct formula
|
||||||
|
|
||||||
|
### Current Test Results
|
||||||
|
```
|
||||||
|
42 passed in 0.34s
|
||||||
|
- 5 WeaponStats tests ✓
|
||||||
|
- 4 ArmorStats tests ✓
|
||||||
|
- 3 ToolStats tests ✓
|
||||||
|
- 5 SimpleCache tests ✓
|
||||||
|
- 12 EntropiaNexusAPI mock tests ✓
|
||||||
|
- 9 MockData tests ✓
|
||||||
|
- 2 Utility function tests ✓
|
||||||
|
- 2 Integration tests ✓
|
||||||
|
```
|
||||||
|
|
||||||
|
### Next Steps
|
||||||
|
1. **Run `python main.py`** — test full GUI
|
||||||
|
2. **Verify HUD overlay** — check click-through + draggable
|
||||||
|
3. **Test loadout manager** — DPP calculator, gear configs
|
||||||
|
4. **Live hunt test** — real Entropia session with HUD
|
||||||
|
|
||||||
|
### Sprint 2 Status
|
||||||
|
| Phase | Status |
|
||||||
|
|-------|--------|
|
||||||
|
| Phase 1: GUI Foundation | ✅ Complete |
|
||||||
|
| Phase 2: Integration | ✅ Complete (tests passing) |
|
||||||
|
| Phase 3: Advanced Analytics | ⏳ Pending |
|
||||||
|
|
||||||
|
---
|
||||||
|
**Never-Break Rule followed:** pytest before ANY gameplay ✅
|
||||||
|
|
@ -59,30 +59,10 @@ class LogEvent:
|
||||||
|
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# HUD Overlay (Placeholder for integration)
|
# HUD Overlay
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
||||||
class HUDOverlay:
|
from ui.hud_overlay import HUDOverlay
|
||||||
"""
|
|
||||||
HUD Overlay controller placeholder.
|
|
||||||
This will be replaced with the actual HUD implementation.
|
|
||||||
"""
|
|
||||||
def __init__(self):
|
|
||||||
self.visible = False
|
|
||||||
|
|
||||||
def show(self):
|
|
||||||
"""Show the HUD overlay."""
|
|
||||||
self.visible = True
|
|
||||||
print("[HUD] Overlay shown")
|
|
||||||
|
|
||||||
def hide(self):
|
|
||||||
"""Hide the HUD overlay."""
|
|
||||||
self.visible = False
|
|
||||||
print("[HUD] Overlay hidden")
|
|
||||||
|
|
||||||
def is_visible(self) -> bool:
|
|
||||||
"""Check if HUD is visible."""
|
|
||||||
return self.visible
|
|
||||||
|
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
@ -583,6 +563,14 @@ class MainWindow(QMainWindow):
|
||||||
settings_action.triggered.connect(self.on_settings)
|
settings_action.triggered.connect(self.on_settings)
|
||||||
view_menu.addAction(settings_action)
|
view_menu.addAction(settings_action)
|
||||||
|
|
||||||
|
# Tools menu
|
||||||
|
tools_menu = menubar.addMenu("&Tools")
|
||||||
|
|
||||||
|
loadout_action = QAction("&Loadout Manager", self)
|
||||||
|
loadout_action.setShortcut("Ctrl+L")
|
||||||
|
loadout_action.triggered.connect(self.on_loadout_manager)
|
||||||
|
tools_menu.addAction(loadout_action)
|
||||||
|
|
||||||
# Help menu
|
# Help menu
|
||||||
help_menu = menubar.addMenu("&Help")
|
help_menu = menubar.addMenu("&Help")
|
||||||
|
|
||||||
|
|
@ -1080,6 +1068,12 @@ class MainWindow(QMainWindow):
|
||||||
dialog = SettingsDialog(self)
|
dialog = SettingsDialog(self)
|
||||||
dialog.exec()
|
dialog.exec()
|
||||||
|
|
||||||
|
def on_loadout_manager(self):
|
||||||
|
"""Open Loadout Manager dialog."""
|
||||||
|
from ui.loadout_manager import LoadoutManagerDialog
|
||||||
|
dialog = LoadoutManagerDialog(self)
|
||||||
|
dialog.exec()
|
||||||
|
|
||||||
def on_about(self):
|
def on_about(self):
|
||||||
"""Show about dialog."""
|
"""Show about dialog."""
|
||||||
QMessageBox.about(
|
QMessageBox.about(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue