> For the complete documentation index, see [llms.txt](https://swonh.gitbook.io/sdmp-user-manual-kor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swonh.gitbook.io/sdmp-user-manual-kor/general-module/undefined-1/eventcontrol.md).

# EventControl

Solver 기능 수행 중에 발생하는 이벤트와 관련된 기능을 담당하는 컨트롤

### OnBeginSolve

```csharp
public override void OnBeginSolve()
```

#### 정의

Solver의 Run 시작 시점에 호출됩니다.

#### 예제 (Default Logic)

```csharp
public override void OnBeginSolve()
{

}
```

### OnDataLoad

```csharp
public override void OnDataLoad()
```

#### 정의

DataControl의 GetData를 통해 데이터가 로딩된 직후 호출됩니다.

#### 예제 (Default Logic)

```csharp
public override void OnDataLoad() 
{

}
```

### OnVisitState

```csharp
public override void OnVisitState(State state)
```

#### 정의

탐색을 위하여 State를 방문하였을 때 호출됩니다.

#### 매개 변수

| Type  | Description       |
| ----- | ----------------- |
| State | 현재 방문한 State 입니다. |

#### 예제 (Default Logic)

```csharp
public override void OnVisitState(State state)
{
  
}
```

### OnVisitToState

```csharp
public override void OnVisitToState(State fromState, State toState)
```

#### 정의

특정 State로부터 정의된 Action을 통해 상태 전이되어 다음 Stage의 State를 처음 방문하였을 때 호출됩니다.

#### 매개 변수

<table><thead><tr><th width="165">Type</th><th>Description</th></tr></thead><tbody><tr><td>State</td><td>Action을 수행하기 전 State입니다.</td></tr><tr><td>State</td><td>Action을 통해 상태 전이되어 방문한 다음 Stage의 State입니다.</td></tr></tbody></table>

#### 예제 (Default Logic)

```csharp
public override void OnVisitToState(State fromState, State toState)
{

}
```

### OnStageChanged

```csharp
public override void OnStageChanged(Stage stage)
```

#### 정의

탐색과정에서Stage가 변경되었을 때 호출됩니다.

#### 매개 변수

<table><thead><tr><th width="190">Type</th><th>Description</th></tr></thead><tbody><tr><td>Stage</td><td>변경된 Stage 입니다.</td></tr></tbody></table>

#### 예제 (Default Logic)

```csharp
public virtual void OnStageChanged(Stage stage) 
{
    
}
```

### OnDoneSolve

```csharp
public override void OnDoneSolve()
```

#### 정의

Solver의 Run 종료 시점에 호출됩니다.

#### 예제 (Default Logic)

```csharp
public override void OnDoneSolve()
{

}
```
