【解決済】プラグインコマンドは非同期か

よしだとものり
記事: 134
登録日時: 2017年7月25日(火) 23:18

【解決済】プラグインコマンドは非同期か

投稿記事by よしだとものり » 2017年9月22日(金) 02:54

現在、チャットのプログラムを作っています。
キャラクターに話したらデータベースからデータを受信し
そのデータを1秒置きにwaitをかけながらテキスト表示しています。

イベントでは以下の1と2をデータ件数文ループするだけです。
1プラグインコマンド データの表示
2wait

プラグインコマンドでは最初に非同期の受信の完了待ちを行い
テキスト表示しています。

データは1件だけだと表示されるのですが
2件だと1件しか表示されません。
ひょっとしてプラグインコマンドは非同期でしょうか?

また、非同期でしたらwaitを長くする以外に同期待ちをする
方法はありますか?


それと誰かfirebaseに詳しい方はいませんでしょうか。
あまりにも情報がなさすぎるので;;
最後に編集したユーザー よしだとものり on 2017年9月22日(金) 11:24 [ 編集 1 回目 ]

アバター
しぐれん
記事: 973
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: プラグインコマンドは非同期か

投稿記事by しぐれん » 2017年9月22日(金) 03:58

プラグインコマンドに同期待ち処理を入れることは可能です。
例えば選択肢の表示は入力が終わるまでイベントの実行を中断していますが、これは内部でwait処理を行うためです。
また、イベントコマンドのウェイトも同様です。
waitを入れて、そこで同期待ちをすることは可能です。

完了待ちをするよりも、どこかにメッセージのキューを作成してそこから取り出すほうが実装が容易な気もします。
こうすれば通信部分とメッセージ表示部分を切り離せると思います。
現在、プラグイン依頼はお休み中です。
よしだとものり
記事: 134
登録日時: 2017年7月25日(火) 23:18

Re: 【解決済】プラグインコマンドは非同期か

投稿記事by よしだとものり » 2017年9月22日(金) 11:24

通信と表示を切り分けることで解決しました。
いつもありがとうございます。

“MV:質問” へ戻る