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()
ensure_window_focus(hwnd)
time.sleep(0.3)

user32 = ctypes.windll.user32
VK_I = 0x49
KEYEVENTF_KEYUP = 0x0002

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

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)

print("1. Clicking Green Node at (1458, 828)...")
click(1458, 828, delay=1.0)
p1 = capturer.capture_screenshot(event_name="STEP1_NODE_CLICKED", capture_ram=False)
print(f"Node clicked: {p1}")

print("2. Pressing 'I' to open Inventory...")
press_key(VK_I, 0x17, delay=1.0)
p2 = capturer.capture_screenshot(event_name="STEP2_INVENTORY_ON_ATLAS", capture_ram=False)
print(f"Inventory opened: {p2}")
