# Cross Input Supported Window

## 🪟 CrossInputSupportedWindow Class

Base class for input-supported windows.

> **Namespace:** `Esper.Inventool.UI`\
> **Access:** `public`\
> **Type:** `class`\
> **Inherits:** `MonoBehaviour`

***

### 📦 Fields

| Access   | Field      | Type         | Description                           |
| -------- | ---------- | ------------ | ------------------------------------- |
| `public` | `document` | `UIDocument` | UI Document component.                |
| `public` | `onOpened` | `UnityEvent` | Event invoked when the window opens.  |
| `public` | `onClosed` | `UnityEvent` | Event invoked when the window closes. |

### 🔍 Properties

| Access   | Property | Type   | Description                           |
| -------- | -------- | ------ | ------------------------------------- |
| `public` | `IsOpen` | `bool` | True if the window is currently open. |

### 🧰 Methods

| Access      | Method                     | Returns | Description                                               |
| ----------- | -------------------------- | ------- | --------------------------------------------------------- |
| `protected` | `Awake()`                  | `void`  | Cache the `UIDocument` component.                         |
| `protected` | `Start()`                  | `void`  | Disable Unity navigation and register with support.       |
| `private`   | `DisableUnityNavigation()` | `void`  | Stop default navigation event propagation.                |
| `public`    | `Register()`               | `void`  | Register this window with `CrossInputSupport.Instance`.   |
| `public`    | `Unregister()`             | `void`  | Unregister this window from `CrossInputSupport.Instance`. |
