import os
import sys
import time
import ctypes
from pathlib import Path

WORKSPACE_ROOT = str(Path(__file__).resolve().parent.parent)
sys.path.insert(0, WORKSPACE_ROOT)

from src.assistant_tool.screen_capturer import ScreenCapturer
from src.common.win32_window import find_poe2_window, ensure_window_focus

capturer = ScreenCapturer(output_dir="captures")
hwnd = find_poe2_window()
if not hwnd:
    print("Could not find POE2 window")
    sys.exit(1)

ensure_window_focus(hwnd)
time.sleep(0.3)

user32 = ctypes.windll.user32
VK_ESCAPE = 0x1B
VK_U = 0x55
KEYEVENTF_KEYUP = 0x0002

def press_key(vk, scan=0, delay=0.3):
    user32.keybd_event(vk, scan, 0, 0)
    time.sleep(0.05)
    user32.keybd_event(vk, scan, KEYEVENTF_KEYUP, 0)
    time.sleep(delay)

def click(x, y, delay=0.4):
    user32.SetCursorPos(int(x), int(y))
    time.sleep(0.1)
    user32.mouse_event(0x0002, 0, 0, 0, 0)
    time.sleep(0.05)
    user32.mouse_event(0x0004, 0, 0, 0, 0)
    time.sleep(delay)

print("1. Dismiss any existing modals with ESC...")
press_key(VK_ESCAPE, 0x01, delay=0.4)

print("2. Open World Map with 'U'...")
press_key(VK_U, 0x16, delay=0.8)

p1 = capturer.capture_screenshot(event_name="LIVE_ATLAS_STEP1_AFTER_U", capture_ram=False)
print(f"Step 1 capture: {p1}")

print("3. Click ENDGAME tab at (1547, 93)...")
click(1547, 93, delay=1.2)

p2 = capturer.capture_screenshot(event_name="LIVE_ATLAS_STEP2_AFTER_ENDGAME", capture_ram=False)
print(f"Step 2 capture: {p2}")

print("4. Click Green Reachable Node at (1458, 828)...")
click(1458, 828, delay=0.8)

p3 = capturer.capture_screenshot(event_name="LIVE_ATLAS_STEP3_AFTER_NODE_CLICK", capture_ram=False)
print(f"Step 3 capture: {p3}")
