# Connection UGUI

## 🔗 ConnectionUGUI Class

A uGUI object that represents a skill node connection.

> Namespace: `Esper.SkillWeb.UI.UGUI`\
> Inherits from: `MonoBehaviour`\
> Implements: `IConnectionUI`\
> Type: `class`

***

### 📦 Fields

| Access      | Field           | Type            | Description                                                                                    |
| ----------- | --------------- | --------------- | ---------------------------------------------------------------------------------------------- |
| `public`    | `connection`    | `Connection`    | The connection.                                                                                |
| `public`    | `isHighlighted` | `bool`          | If this connection is currently highlighted.                                                   |
| `protected` | `webView`       | `WebViewUGUI`   | The web view reference.                                                                        |
| `protected` | `output`        | `SkillNodeUGUI` | The connected output skill node UI. This is relevant when a visual connection line is created. |

***

### 🔍 Properties

| Access   | Property   | Type            | Description                                                                                                                  |
| -------- | ---------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `public` | `Output`   | `SkillNodeUGUI` | The output skill node UI.                                                                                                    |
| `public` | `Input`    | `SkillNodeUGUI` | The input skill node UI.                                                                                                     |
| `public` | `IsActive` | `bool`          | Checks if this connection is active. An active connection is one where the player has obtained all skills of the connection. |

***

### 🧰 Methods

| Access           | Method                                   | Returns | Description                                                        |
| ---------------- | ---------------------------------------- | ------- | ------------------------------------------------------------------ |
| `public virtual` | `SetConnection(Connection, WebViewUGUI)` | `void`  | Sets up the connection UI.                                         |
| `public virtual` | `Refresh()`                              | `void`  | Refreshes this UI object.                                          |
| `public virtual` | `UpdateLine()`                           | `void`  | Updates the start and end positions of the line.                   |
| `public virtual` | `Highlight()`                            | `void`  | Highlights the connection.                                         |
| `public virtual` | `Unhighlight()`                          | `void`  | Unhighlights the connection.                                       |
| `public virtual` | `ApplyActiveState()`                     | `void`  | Visually updates the connection based on the current active state. |
