TaskコンポーネントからのOutputTransitionPort出力について

Post a reply

Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: TaskコンポーネントからのOutputTransitionPort出力について

Re: TaskコンポーネントからのOutputTransitionPort出力について

by caitsithware » 2025/07/30 06:51

htf wrote: 2025/07/30 06:09 1.タスクコンポーネントスクリプトにて、とりあえずArborの感覚で選択肢の数だけOutputTransitionPortを作り、
どの選択肢ボタンが押されたかによって OnExecuteの中でport1.Transition()
などとして、それぞれの遷移先に遷移することはできました。
正規のreturn TaskStatus.Successなどで抜けていませんが、これは安全でしょうか?
動作上は特に問題ないかと思います。
htf wrote: 2025/07/30 06:09 2.もとからあるCompletedの出力ポートは使わないので消すことはできますか?
(Resultは消せました)
Completedポートを非表示にする機能については現在ありません。
htf wrote: 2025/07/30 06:09 3.そもそもこういった用途でタスクコンポーネントを使う認識で良いのでしょうか。
何か別の方法はありますでしょうか。
TaskComponentは「何かを行って完了を待つこと」が主な用途になっています。
今回の場合ですと「選択肢を表示して選択されるのを待つ」という処理ですね。
想定している用途としては「選択肢表示から結果を出力する」までとし別途Switchノードなどで分岐することを想定しています。
ただ、選択肢=遷移先の場合は選択肢表示側と分岐側で2重でリストを組む手間なども発生しますので、TaskComponentの内部で分岐してしまったほうが良いのかもしれません。

他の方法としては、ServiceComponentで選択肢機能を実装しStateノードで使用する方法があります。
この組み合わせでは、ArborのStateBehaviourとほぼ同等機能を作成できます。

TaskコンポーネントからのOutputTransitionPort出力について

by htf » 2025/07/30 06:09

恐れ入ります。

ゲーム中の会話の遷移をLogicToolkitでやろうとしておりまして、
「会話中の選択肢をGUIボタンで表示し、選択を待つノード」
をスクリプトで書こうとしています。

「選択を待ちたい」のでタスクコンポーネントスクリプトを書けばいいのかと思ったのですが
何点かわからないことがありました。

1.タスクコンポーネントスクリプトにて、とりあえずArborの感覚で選択肢の数だけOutputTransitionPortを作り、
どの選択肢ボタンが押されたかによって OnExecuteの中でport1.Transition()
などとして、それぞれの遷移先に遷移することはできました。
正規のreturn TaskStatus.Successなどで抜けていませんが、これは安全でしょうか?

2.もとからあるCompletedの出力ポートは使わないので消すことはできますか?
(Resultは消せました)

3.そもそもこういった用途でタスクコンポーネントを使う認識で良いのでしょうか。
何か別の方法はありますでしょうか。

Top