import time
import ctypes
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))

from src.assistant_tool.screen_capturer import ScreenCapturer

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

capturer.bring_to_foreground(hwnd)
time.sleep(0.2)

user32 = ctypes.windll.user32
VK_RETURN = 0x0D
VK_SPACE = 0x20
KEYEVENTF_KEYUP = 0x0002

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

# Close any open UI (World Map)
press_key(VK_SPACE, 0x39)
time.sleep(0.3)

def send_chat_command(cmd_str):
    press_key(VK_RETURN, 0x1C)
    time.sleep(0.15)
    for ch in cmd_str:
        vk = user32.VkKeyScanW(ord(ch)) & 0xFF
        press_key(vk)
        time.sleep(0.02)
    time.sleep(0.1)
    press_key(VK_RETURN, 0x1C)

print("Sending /exit command...")
send_chat_command("/exit")
time.sleep(4.0)

img_path = capturer.capture_screenshot(event_name="AFTER_EXIT_CMD", capture_ram=False)
print(f"Captured: {img_path}")
