Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
tmori authored Jan 9, 2024
1 parent 8fa1ea3 commit f4377d0
Showing 1 changed file with 38 additions and 18 deletions.
56 changes: 38 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,28 +28,28 @@
箱庭アセットのシミュレーションの処理フローは以下のとおりであり、シミュレーション向けのユースケースが中心となります。

1. [箱庭アセットを登録する](#箱庭アセットを登録する)
2. 箱庭コア機能に対してシミュレーション実行を依頼する
3. 箱庭コア機能からのイベント(コールバック)として、箱庭アセットの処理を実行する
2. [箱庭コア機能に対してシミュレーション実行を依頼する](#箱庭コア機能に対してシミュレーション実行を依頼する)
3. [箱庭コア機能からのイベント(コールバック)として、箱庭アセットの処理を実行する](#箱庭コア機能からのイベント(コールバック)として、箱庭アセットの処理を実行する)
4. シミュレーション終了まで 2-3 を繰り返す

アプリケーション固有の処理は、`3` の処理であり、シミュレーションの必要なタイミングで、箱庭コア機能からコールバックされます。
箱庭アセット開発者は、このコールバック関数を実装することで、箱庭アセットとしてシミュレーションを実行できます。

ここで、コールバック処理としては、以下の3種類あります。

* 箱庭アセットの初期化処理
* [箱庭アセットの初期化処理](#箱庭アセットの初期化処理)
* 箱庭のシミュレーション開始時点で1回だけ呼び出されます。
* 箱庭アセットのシミュレーション実行処理
* [箱庭アセットのシミュレーション実行処理](#箱庭アセットのシミュレーション実行処理)
* 箱庭のシミュレーション時間ステップ毎に呼び出されます。
* 箱庭アセットのリセット処理
* [箱庭アセットのリセット処理](#箱庭アセットのリセット処理)
* 箱庭のシミュレーションがリセットされたタイミングで呼び出されます。

また、アプリケーション固有の処理実装では、アプリケーション共通の機能を利用できます。

* 箱庭PDUデータを読み込みする
* 箱庭PDUデータを書き込みする
* 箱庭シミュレーション時間を取得する
* スリープする
* [箱庭PDUデータを読み込みする](#箱庭PDUデータを読み込みする)
* [箱庭PDUデータを書き込みする](#箱庭PDUデータを書き込みする)
* [箱庭シミュレーション時間を取得する](#箱庭シミュレーション時間を取得する)
* [スリープする](#スリープする)

![スクリーンショット 2024-01-10 7 33 58](https://github.com/toppers/hakoniwa-core-cpp-client/assets/164193/d296a70f-3393-47b1-82c1-a54cf9eb7506)

Expand All @@ -59,6 +59,7 @@
### 箱庭アセットを登録する

**ユースケースID**: `UC-HAKO-ASSET-SIM-1`

**関数名**: `hako_asset_register`

**目的**:
Expand Down Expand Up @@ -110,7 +111,9 @@ int main() {
```


### 箱庭コア機能に対してシミュレーション実行を依頼する [UC-HAKO-ASSET-2]
### 箱庭コア機能に対してシミュレーション実行を依頼する

**ユースケースID**: `UC-HAKO-ASSET-SIM-2`

**関数名**: `hako_asset_execute`

Expand Down Expand Up @@ -167,7 +170,9 @@ int main() {
```


### 箱庭コア機能からのイベント(コールバック)として、箱庭アセットの処理を実行する [UC-HAKO-ASSET-3]
### 箱庭コア機能からのイベント(コールバック)として、箱庭アセットの処理を実行する

**ユースケースID**: `UC-HAKO-ASSET-APP-1`

箱庭アセットを作成するユーザは、`hako_asset_callbacks_t` のイベントコールバック関数を実装する必要があります。

Expand Down Expand Up @@ -221,7 +226,10 @@ hako_asset_callbacks_t callbacks = {
};

```
#### 箱庭アセットの初期化処理 [UC-HAKO-ASSET-3-a]
#### 箱庭アセットの初期化処理
**ユースケースID**: `UC-HAKO-ASSET-APP-1a`
**コールバック関数名**: `on_initialize`
Expand All @@ -235,7 +243,9 @@ hako_asset_callbacks_t callbacks = {
**戻り値**:
なし
#### 箱庭アセットのシミュレーション実行処理 [UC-HAKO-ASSET-3-b]
#### 箱庭アセットのシミュレーション実行処理
**ユースケースID**: `UC-HAKO-ASSET-APP-1b`
**コールバック関数名**: `on_simulation_step`
Expand All @@ -249,7 +259,9 @@ hako_asset_callbacks_t callbacks = {
**戻り値**:
なし
#### 箱庭アセットのリセット処理 [UC-HAKO-ASSET-3-c]
#### 箱庭アセットのリセット処理
**ユースケースID**: `UC-HAKO-ASSET-APP-1c`
**コールバック関数名**: `on_reset`
Expand All @@ -263,7 +275,9 @@ hako_asset_callbacks_t callbacks = {
**戻り値**:
なし
### 箱庭PDUデータを読み込みする [UC-HAKO-ASSET-4]
### 箱庭PDUデータを読み込みする
**ユースケースID**: `UC-HAKO-ASSET-APP-COMMON-1`
**関数名**: `hako_asset_pdu_read`
Expand Down Expand Up @@ -322,7 +336,9 @@ int main() {
}
```

### 箱庭PDUデータを書き込みする [UC-HAKO-ASSET-5]
### 箱庭PDUデータを書き込みする

**ユースケースID**: `UC-HAKO-ASSET-APP-COMMON-2`

**関数名**: `hako_asset_pdu_write`

Expand Down Expand Up @@ -383,7 +399,9 @@ int main() {
}
```
### 箱庭シミュレーション時間を取得する [UC-HAKO-ASSET-6]
### 箱庭シミュレーション時間を取得する
**ユースケースID**: `UC-HAKO-ASSET-APP-COMMON-3`
**関数名**: `hako_asset_simulation_time`
Expand Down Expand Up @@ -415,7 +433,9 @@ int main() {
}
```

### スリープする [UC-HAKO-ASSET-7]
### スリープする

**ユースケースID**: `UC-HAKO-ASSET-APP-COMMON-4`

**関数名**: `hako_asset_usleep`

Expand Down

0 comments on commit f4377d0

Please sign in to comment.